在select中循环数组

时间:2017-04-26 08:50:37

标签: php arrays json

我有图片中显示的这种数组。如何在select选项中插入值

<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>

Array Pic

5 个答案:

答案 0 :(得分:3)

简单地展平多维数组,然后遍历它。

假设原始多维数组中的$arr

$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));
foreach($it as $value){
    ?>
    <option value="<?php echo $value; ?>"><?php echo $value; ?></option>
    <?php
}

以下是相关参考资料:

答案 1 :(得分:0)

你需要平面阵列。你可以用递归函数来做。在这里你有一般的功能。

/**
 * 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;
}

当然,您可以使用该方法递归显示选择 - 不仅仅是平面数组。

答案 2 :(得分:0)

<?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; ?>

答案 3 :(得分:0)

<?php 
foreach($arr as $val){
   foreach($val as $val2){ 
       foreach($val2 as $val3){ ?>
           <option value="<?php echo $val3;?>"><?php echo $val3 ;?></option><?php
       }
   } 
} 
?>

答案 4 :(得分:0)

你可以试试这个。

<?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;