我有這種數組顯示在圖片中。我如何可以插入在選擇選項的值在選擇循環陣列
<option value="7">7</option>
<option value="13000">13000</option>
<option value="19AAAAA">19AAAAA</option>
<option value="sdsdas">sdsdas</option>
<option value="dasdasdasd">dasdasdasd</option>
我有這種數組顯示在圖片中。我如何可以插入在選擇選項的值在選擇循環陣列
<option value="7">7</option>
<option value="13000">13000</option>
<option value="19AAAAA">19AAAAA</option>
<option value="sdsdas">sdsdas</option>
<option value="dasdasdasd">dasdasdasd</option>
簡單地展平多維數組,然後遍歷它。
假設你原來的多維數組中$arr
$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));
foreach($it as $value){
?>
<option value="<?php echo $value; ?>"><?php echo $value; ?></option>
<?php
}
下面是相關參考文獻:
你需要平面數組。你可以用遞歸函數來完成它。這裏你有一般的功能。
/**
* Get multilevel array convert to single-level array
* @param $array
* @return array
*/
function getFlattened($array) {
$flattened = [];
foreach ($array as $flat) {
if (is_array($flat)) {
$flatArray = array_merge($flatArray, getFlattened($flat));
} else {
$flattened[] = $flat;
}
}
return $flattened;
}
當然,您可以使用該方法遞歸地顯示選擇 - 不僅適用於平面陣列。
<?php foreach($array as $inner): ?>
<?php foreach($inner as $innerTwo): ?>
<?php foreach($innerTwo as $item): ?>
<option value="<?= $item ?>"><?= $item ?></option>
<?php endforeach; ?>
<?php endforeach; ?>
<?php endforeach; ?>
<?php
foreach($arr as $val){
foreach($val as $val2){
foreach($val2 as $val3){ ?>
<option value="<?php echo $val3;?>"><?php echo $val3 ;?></option><?php
}
}
}
?>
你的val2 ==數組 – Auris
你可以試試這個。
<?php
$input = Array(
Array
(
0 => 7,
1 => 13000
),
Array
(
0 => '19AAAAA',
1 => 'sdsdas'
)
);
$options = "";
$result = call_user_func_array("array_merge", $input);
for($i = 0;$i< count($result);$i++){
$options .="<option value='".$result[$i]."'>".$result[$i]."</option>";
}
echo $options;
使單個數組,然後通過它循環。 – webpic
單個陣列不是解決方案 – Xravn
是否要將它們分組爲這個3D php陣列?optgroup可能是一個解決方案。但是你至少需要將php數組減少到2D – vishva8kumara