首页 > 解决方案 > PHP多变量数组输出

问题描述

我有一个简单的查询。

我有一个数组,它有两个变量,我是这样定义的:

$sArray[0]['Name'] = $sName;
$sArray[0]['ID'] = $sID;

以上是在一个循环中,它为 sName 和 sID 提供数据。数据示例是:

Name: John Smith ID: 123
Name: Sue Smith ID:234

我想在多选 HTML 中输出 sName 数据,并将 ID 存储为值,将名称存储为选项显示。到目前为止,我在下面的代码仅输出列表中的第一个条目,因此循环不正确。所以,请帮忙。:)

  <select class="form-select" multiple id="SelectName" name="name_list[]">        
  <?php             
    $selectLength = count($sArray);
    for ($j=0 ; $j<$selectLength ; $j++) {
    foreach ($sArray[$j] as $value) {           
    echo"<option value=$value name='name_list[]'>$value</option>"?>    
   <?php 
        }
    } ?>
 </select>

下面是数组内容的转储:

array(1) { [0]=> array(2) { ["Name"]=> string(3) "Sue" ["ID"]=> string(3) "234" } } array(1) { [0]=> array(2) { ["Name"]=> string(4) "John" ["ID"]=> string(3) "123" } }

提前致谢。

更新:根据要求,下面是填充数组的循环。它基本上读取具有名称和 ID 数据的 XML 文件并将其放入数组中。

$fetchdata = simplexml_load_string($xml);    
foreach ($elm->res as $list) {
        $Team = $Agentlist->xpath('team[@name="Stock"]');
        if (count($Team) >= 1) {
            $fName = (string)$list->fName;
            $ID = (string)$list->ID;
            $sArray[0]['Name'] = $fName;
            $sArray[0]['ID'] = $ID;
            var_dump($sArray);          
        }
    }

标签: phparrays

解决方案


正如我所看到的,您所需要的只是一个 foreach 数组。看一看

foreach($sArray as $value){ 
    echo '<option value="'.$value['ID'].'">'.$value['Name'].'</option>';

    }

推荐阅读