2012-12-07 54 views
1

我已經搜索了該網站,但無法找到解決我的問題的方法。 我想只選擇陣列中的產品名稱。 (如:長笛,小號..)在php中選擇多維數組中的項目

這是我的陣列。

$products = array 
    ( 
     'MMS-1754'=> array('name'=> 'Flute', 'cost'=> 149.50), 
     'MMS-1864'=> array('name'=> 'Trumpet','cost' => 199.50), 
     'MMS-1965'=> array('name'=> 'Clarinet', 'cost'=> 299.50) 
    ); 

這是用於填充下拉列表

echo'<select name="Name">'; 
foreach($products as $code => $word) 
{ 
    foreach($word as $product) 
    { 
     echo'<option value="'.$code.'">'.$product.'</option>'; 
    } 
} 

echo'</select>'; 

結果我得到的是productnames,也是costprices我的PHP代碼。我只想要產品名稱。

+2

使用IF語句......我不知道這是怎麼的一個問題。 .. – Neal

+0

'foreach($ products as $ item){echo $ item ['name']; }' –

回答

2
echo'<select name="Name">'; 
foreach($products as $code => $product) 
{ 
    echo'<option value="'.$code.'">'.$product['name'].'</option>'; 
} 

echo'</select>'; 
6

你不需要第二個foreach。您可以直接訪問該名稱。在$產品價值包含名稱的數組和成本

echo'<select name="Name">'; 
foreach($products as $code => $product) 
{ 
    echo'<option value="'.$code.'">'.$product['name'].'</option>'; 
} 
echo'</select>'; 
2
echo'<select name="Name">'; 
foreach($products as $code => $word) 
{ 
    echo'<option value="'.$code.'">'.$word['name'].'</option>'; 
} 

echo'</select>'; 
0

這很簡單:

echo'<select name="Name">'; 
foreach($products as $code => $product) 
{ 
    echo'<option value="'.$code.'">'.$product['name'].'</option>'; 
} 
echo'</select>'; 
0
echo'<select name="Name">'; 
foreach($products as $code => $word) 
{ 
    echo'<option value="'.$code.'">'.$word['name'].'</option>'; 
} 

echo'</select>';