• 締切済み

配列の重複チェック

POSTの配列の中で、キーと要素をペアで重複チェックする方法はありますか? 要素だけならarray_count_valueなどが使えますが、キーも重複しないとだめなのです。 よろしくお願いします。

みんなの回答

  • Suzi
  • ベストアンサー率38% (130/334)
回答No.2

$keyが、No + 数字と仮定したら。 $hoge = array ( [No0] => 1 [NAME0] => 1 [No1] => 1 [NAME1] => 2 [No2] => 3 [NAME2] => 3 [No3] => 4 [NAME3] => 4 [No4] => 5 [NAME4] => 5 ); としたら、 $i = '0'; foreachかwhile、またはfor($hoge as $key => $value){  if( preg_match('/^No\d+$/', $key) > 0) $ip++; } if($ip > 0) print "重複エラー"; で、どうでしょうか。

noname#77845
noname#77845
回答No.1

質問を勘違いしているかもしれませんが…。 「キー」と「要素」が同じなら、同じ変数を参照しているのではありませんか?

tttrrrr
質問者

補足

ごめんなさい説明不足でした。 例えば下記の配列で[No0] => 1と[No1] => 1は同じNoなので、重複エラー。同じ値でも[NAME0] => 1はNAMEなのでチェックしない。 というように同じ項目内で重複チェックをしたいのです。 Array ( [No0] => 1 [NAME0] => 1 [No1] => 1 [NAME1] => 2 [No2] => 3 [NAME2] => 3 [No3] => 4 [NAME3] => 4 [No4] => 5 [NAME4] => 5 )

関連するQ&A