PHPにて検索画面を作っております。
検索条件が入った配列と検索結果を取得した配列が存在します。
searchList [001,002,003] outputList 0 => array:3 [▼ "id" => "001" "place" => "JAPAN" "name" => "onigiri" ] 1 => array:3 [▼ "id" => "003" "place" => "MEXICO" "name" => "tacos" ]
現在はoutput配列に検索できなかった002が入っていない状態になっているため
下記のように検索順で配列outputに追加したいと考えております。
outputList 0 => array:3 [▼ "id" => "001" "place" => "JAPAN" "name" => "onigiri" ] 1 => array:3 [▼ "id" => "002" "place" => "存在しません" "name" => "存在しません" ] 2 => array:3 [▼ "id" => "003" "place" => "MEXICO" "name" => "tacos" ]
配列同士のIDを比較してなければaddarrayで追加するよう
foreachにforeachを入れておりますが、うまく動かず
スピードが遅くなってしまうためなんとかしたいと考えております。
この場合の記述について良い方法があればお伺いしたいです。
すみませんがどうぞよろしくお願いします。
foreach($Outputlist as $output){ foreach($searchList as $search){ if($output['id'] != $search){ $addArray = ["id"=>"$search[$i]","name"=>"該当なし","place"=>"該当なし", ]; array_splice($Outputlist,$i,0,[$addArray]); } } }
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/25 11:04