나는 이것이 당신을 위해 일할지도 모른다라고 생각한다. 값을 기준으로
첫 번째 종류의 배열은 다음 다음 array_unique()
<?php
$oldarray = array("suman#1","suman#2","suman#3","sujan#1","suresh#2","");
// first sort array by value so matching value comes together
asort($oldarray);
$newarray = array();
$count = count($oldarray);
for($i=0; $i < $count-1; $i++){
$a = $oldarray[$i];
$b = $oldarray[$i+1];
if($i == 0)
$c = "";
else
$c = $oldarray[$i-1];
if(substr($a,0,strpos($a,"#")) == substr($b,0,strpos($b,"#")) || substr($a,0,strpos($a,"#")) == substr($c,0,strpos($c,"#"))){
array_push($newarray,substr($a,0,strpos($a,"#")));
}
else
array_push($newarray,$a);
}
print_r($oldarray);
// now remove duplicate value from new array
$newarray = array_unique($newarray);
print_r($newarray);
?>
그래서 'yassine'을 원하기 때문에 여러 개의 yassine 또는 Dolmi이어야합니까? substr을 사용하는 표준 foreach 루프가 왜 작동하지 않을까요? – Devon
3 개의 다른 태그 (# m, # f, # l)가있는 여러 개의 yassine이 있으므로 다른 태그와 동일한 값이있을 때마다 태그를 모두 삭제하고 값을 유지해야합니다. 태그가 하나있는 값이 있으면 그냥 보관해야합니다. –