Php 从数组中设置选择框值

Php 从数组中设置选择框值,php,Php,我有一个用户界面: 此外,我还有以下PHP后端代码: <select name="as<?php echo $product['product_id']; ?>[]" style="width:250px;"> <?php foreach ($product['uniSku'] as $key => $value) { echo '<option value="'.$key.'">'.$

我有一个用户界面:

此外,我还有以下PHP后端代码:

<select name="as<?php echo $product['product_id']; ?>[]" style="width:250px;">

    <?php

        foreach ($product['uniSku'] as $key => $value) {
                echo '<option value="'.$key.'">'.$value.'</option>';
                }
    ?>
</select>

您需要在多维数组中迭代两次

foreach ($product['uniSku'] as $data) {
    foreach($data as $key => $val) {
        echo '<option value="'.$key.'">'.$val.'</option>';
    }
}
foreach($product['uniSku']作为$data){
foreach($key=>$val的数据){
回显“.$val.”;
}
}
或者,如果需要使用父数组中的键,可以在第一次迭代时将其存储在变量中

foreach ($product['uniSku'] as $kk => $data) {
    foreach($data as $key => $val) {
        echo '<option value="'.$kk.'">'.$val.'</option>';
    }
}
foreach($product['uniSku']作为$kk=>$data){
foreach($key=>$val的数据){
回显“.$val.”;
}
}
这里是解决方案

foreach ($product['uniSku'] as $key => $value) {
      echo '<option value="'.$key.'">'.$value['sku'].'</option>';
}
foreach($product['uniSku']作为$key=>$value){
回显'.$value['sku'].';
}
试试这个 将
替换为
$value['sku']

foreach ($product['uniSku'] as $key => $value) {
                echo '<option value="'.$key.'">'.$value['sku'].'</option>';
                }
foreach($product['uniSku']作为$key=>$value){
回显'.$value['sku'].';
}

foreach
循环中尝试此-
echo'.$value['sku'.'
@Fabio根据OP提供的数组结构,你不认为两次迭代都是多余的吗?@sm1979是的,这无疑需要更高的资源,但在任何情况下都可以工作,即使数组是different@Fabio是的,我同意它更通用。谢谢