这是我的数组结构:
array (
'ALCAR STAHLRAD' =>
array (
'diametru' =>
array (
0 => 15,
6 => 16,
9 => 14,
14 => 13,
20 => 17,
468 => 20,
),
...........
我正在执行该代码:
$diametru = '';
foreach ($items as $key => $val){
$diametru .= "<option>$key[array]['diametru']=>$val</option>";
}
print_r($diametru);
我希望将“ diametru”值添加到我的“选项”中
<option>15</option>
<option>16</option>
<option>14</option>
..............
但输出为:
A ['diametru'] => ArrayE ['diametru'] => ArrayD ['diametru'] => ArrayD ['diametru'] ... 预先感谢您的任何想法:)
答案 0 :(得分:1)
编辑:如果要添加array_unique
和SORT_NUMERIC
,请参阅我的编辑代码。
如果不想使用foreach,可以通过array_column
和array_walk_recursive
进行。
$arr = array ( 'ALCAR STAHLRAD' => array ( 'diametru' => array ( 0 => 15, 6 => 16, 7 => 16, 9 => 14, 14 => 13, 20 => 17, 468 => 20, ), ));
$option_arr = array_column($arr,'diametru');
function generate_option($item, $key)
{
echo "<option>" . $key . " : ". $item . "</option>";
}
$options = array_unique($option_arr[0]); // You can add array_unique and SORT_NUMERIC here
asort($options); // If you want sort by key then you need to use asort. Because array_unique remove duplicate from array but doesn't sort actually.
echo "<select>";
array_walk_recursive($options, 'generate_option');
echo "</select>";
答案 1 :(得分:0)
首先获取您的第一个元素:
$alcar = $items[0]; // ALCAR STAHLRAD
// or
$alcar = $items['ALCAR STAHLRAD'];
然后获取直径数组:
$diameters = $alcar['diametru'];
只有这样,您才能进行循环:
diametru = '';
foreach ($diameters as $key => $val){
$diametru .= '<option>'.$key.'=>'.$val.'</option>';
}
print_r($diametru);