2016-07-07 13 views
1

mecanicienの名前と姓のみを表示するにはどうすればよいですか?配列内の配列foreach

$aMecaniciens = array(
    array(
     "idMecanicien"=>1, 
     'vchNomMecanicien'=>"Guérand", 
     'vchPrenomMecanicien'=>"Bob" 

     ), 
    array(
     "idMecanicien"=>2, 
     'vchNomMecanicien'=>"Lim", 
     'vchPrenomMecanicien'=>"Bao" 

     ), 
    array(
     "idMecanicien"=>3, 
     'vchNomMecanicien'=>"Cadoret", 
     'vchPrenomMecanicien'=>"Cadoret" 

     ) 
    ); 

foreach ($aMecaniciens as $value) { 

    foreach ($value as $key) { 
     echo "<option value=\"value\">$key[1].$key[2]</option>"; 
    } 
} 
+1

あなたは '$ key [1]'を使用していますが、配列には番号の付いたインデックスがありません。代わりに '$ key ['vchNomMecanicien']'を使ってみてください。 – Qirel

+0

@Qirel '$ key'は内部配列を保持しません。'Guérand'や '3'などのものを保持します。 –

答えて

1

foreachは必要ありません。 $valueの名前付きキーを使用してオプションを出力することができます。あなたは、出力私はあなたを想定し$aMecaniciensの各項目のための3つのオプションは、したくないだろう、ネストされたループで

foreach ($aMecaniciens as $value) { 
    echo "<option value=\"$value[idMecanicien]\"> 
       $value[vchNomMecanicien].$value[vchPrenomMecanicien] 
      </option>"; 
} 

+0

あなたの答えは本当にありがとう – Bynd

0
foreach($aMecaniciens as $key => $value){ 
echo '<option value="'.$value['idMecanicien'].'">'.$value['vchNomMecanicien'].' '.$value['vchPrenomMecanicien'].'</option>'; 
}