私は国選択用の複数選択ボックスを持っています。私は関連付けられている国を選択したい、つまりデータベースから取得する配列を意味する。複数の配列をループして表示選択オプションを表示
<?php
foreach($countries as $country){
if(!empty($offer_countries)){
foreach($offer_countries as $key => $offer_country){
if(isset($offer_country['country_id']) && ($offer_country['country_id'] == $country['id'])){
echo '<option value="'.$country['id'].'" selected>'.$country['name'].'</option>';
}else{
echo '<option value="'.$country['id'].'">'.$country['name'].'</option>';
}
}
}else{
echo '<option value="'.$country['id'].'">'.$country['name'].'</option>';
}
}
?>
、$ offer_countries配列、次のようになります:ここで
は、私が持っているコードです
Array
(
[0] => Array
(
[country_id] => 1
)
[1] => Array
(
[country_id] => 2
)
[2] => Array
(
[country_id] => 3
)
)
私はその後、私は、ネストされたforeachのを持って、それらを表示するには、すべての国をループしていますその国がすでに設定されているかどうかを確認します。設定されている場合は、オプションボックスを選択します。
この問題は、3つのアイテムが選択されているとしましょう。配列のアイテム数に基づいて、同じ国の3つを表示します。だから米国をチェックする必要があるならば、それは3回表示され、最後のものがチェックされます。
ルーンの説明には申し訳ありませんが、それはおそらくかなり自明ですが、どんな助けも素晴らしいでしょう!
使用in_arrayまたはネストされたのforeachの代わりにarray_search。 –
in_arrayとarray_searchは配列内の配列のため動作しません – dzm
残念です。私は再帰的に検索する方法があると誓った。 –