- 締切済み
配列の重複チェック
POSTの配列の中で、キーと要素をペアで重複チェックする方法はありますか? 要素だけならarray_count_valueなどが使えますが、キーも重複しないとだめなのです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- 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
回答No.1
質問を勘違いしているかもしれませんが…。 「キー」と「要素」が同じなら、同じ変数を参照しているのではありませんか?
補足
ごめんなさい説明不足でした。 例えば下記の配列で[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 )