質問: ### 前提・実現したいこと データベースから、値を取ってきて foreach文を使ってデータの展開までは出来ているのですが、ある配列の一つに同じデータがあった場合、処理を切り替えたいと思っているのですが、array_uniqueは、どの段階で使えばいいのでしょうか? 宜しくお願い致します。 ### 発生している問題・エラーメッセージ ``` 現在、foreach文内で、array_uniqueを使っているのですが、 Warning: array_unique() expects parameter 1 to be array, null given in 等と出てしまっています。 array_uniqueは、foreach文の外で使うものなんでしょうか? foreach文とarray_uniqueを使ったものが探しても見つからずにいます。 ``` ### 該当のソースコード ``` てすと てすと てすと foreach ($tests as $test) { てすと $samplename この部分を$nameが重複していたら、radiobox に切り替えたいんです。 ↓ } array_unique($name); ``` ### 試したこと array_unique をforeach文ないで使いました。 ### 補足情報(言語/FW/ツール等のバージョンなど) php5.6
回答: $nameってどこから出てきたんですか? array_uniqueの動きは確認しましたか? ``` "1", "bar" => "2", "boo" => "2", ); var_dump($array1); $array2 = array_unique($array1); var_dump($array2); ?> ``` 出力結果 array (size=3) 'foo' => string '1' (length=1) 'bar' => string '2' (length=1) 'boo' => string '2' (length=1) array (size=2) 'foo' => string '1' (length=1) 'bar' => string '2' (length=1) マニュアルによると > > array を入力とし、**値に重複のない**新規配列を返します。 > > > ということですが、希望の動作とあってますか? 何をしたいのかちょっと良くわかりませんが。これを見る限り 所望の処理はできないような気がしますが、もう一度確認してみてはいかがですか?