-1

我有数组:

$arr = array();
$arr[0] = array(2628927 => "8250843");
$arr[1] = array(2628927 => "8250843");
$arr[2] = array(2783907 => "8250843");
$arr[3] = array(2783907 => "8250843");
$arr[4] = array(2648250 => "8250843");
$arr[5] = array(2628927 => "8250843");

$arr1 = array();

独特的韧带键=>我用脚本得到的值

foreach($arr as $a)
{
    if(!in_array($a, $arr1)){
        $arr1[] = $a;
    }
}

比 i 输出值唯一韧带键=> 值

foreach ($arr1 as $keys => $elms ) {
foreach ( $elms as $key => $val ) {
echo "$key = $val<br>";

如何计算通用数组$arr中有多少条相同的韧带$key = $val?

}
}

例如计数 2628927 => "8250843" 将是 3

怎么得到这个?

如果您想投票,请给出答案。

非常感谢)

4

1 回答 1

0

如果您的预期结果是3,请尝试以下操作:

$count = count(array_unique(array_map('serialize', $arr)));

编辑:

function foo($arr, $target) {
  $data = array_count_values(array_map('serialize', $arr));
  $key = serialize($target);
  return isset($data[$key]) ? $data[$key] : 0;
}

$arr = array();
$arr[0] = array(2628927 => "8250843");
$arr[1] = array(2628927 => "8250843");
$arr[2] = array(2783907 => "8250843");
$arr[3] = array(2783907 => "8250843");
$arr[4] = array(2648250 => "8250843");
$arr[5] = array(2628927 => "8250843");

echo foo($arr, array(2628927 => "8250843")); // the result is 3
于 2012-12-16T08:41:47.970 回答