0

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

[input] => Array (
    [0] => Array ( [val1] => 111 [val2] => 222 [val3] => 333 [day] => 444 )          
    [1] => Array ( [val1] => 111 [val2] => 221 [val3] => 333 [day] => 444 ) 
    [2] => Array ( [val1] => 111 [val2] => 223 [val3] => 333 [day] => 444 ) 
    [3] => Array ( [val1] => 111 [val2] => 224 [val3] => 333 [day] => 444 )
    [4] => Array ( [val1] => 111 [val2] => 222 [val3] => 333 [day] => 444 ) 
           ) 

配列の最初の2つの値(val1とval2)が別の配列と同一であるかどうかを確認したいだけです。上記の例のinput[0]とinput[4]のように。PHPでこれを行うにはどうすればよいですか?

複製された配列を削除したくありません。複製された値を返して、さらに使用するだけです。

ありがとう

4

1 に答える 1

0

これらのキーを格納する配列が必要です。

$uniq = array();
foreach($input as $v) {
    $key = $v['val1'] . '-' . $v['val2'];
    if (!isset($uniq[$key]))
        $uniq[$key] = 0;
    else
        $uniq[$key]++;
}
print_r(array_filter($uniq));
于 2012-09-22T16:29:16.160 に答える