1

私はこのような配列を持っています

$callerid = Array ( [1] => <409> [2] => <3214> [3] => <409> [4] => <5674> ) 

のように出力したい

Array ( [1] => <3214> [2] => <5674> )

つまり、配列内で重複が見つかった場合、値の出現を削除したいと考えています。

これを達成する方法は?

4

2 に答える 2

3

キーを保持しませんが、正しい値 (つまり、出現回数が 1 の値) を返します

$callerid = array(1 => 409, 2 => 3214, 3 => 409, 4 => 5674);
$calleridCounts = array_count_values($callerid);
$result = array_keys(
    array_intersect($calleridCounts,array(1))
);
var_dump($result);
于 2013-01-28T09:12:05.890 に答える
0
<?php
$string = Array ( 409,3214,409,5674 ) ;
print_r($string);
foreach($string as $vals){
   $match  = array_keys($string, $vals);
   if(count($match) > 1){
      foreach($match as $ky){
        unset($string[$ky]);
      }
   }

}
print_r($string);
?>
于 2013-01-28T09:15:46.490 に答える