Can';t将多维数组传递给foreach函数-PHP

Can';t将多维数组传递给foreach函数-PHP,php,arrays,foreach,Php,Arrays,Foreach,我试图将多维数组传递给foreach语句,当我这样做时,我将数组转换到的变量将丢失结构,因此无法正确访问它 例如— $unFilteredInfo = array(); $sql - ... // execute sql $i = 0; while ($rows = CDB::GetAssoc($lrs)) { $unFilteredInfo["LINE1"][$i] = $rows["LINE1"]; $unF

我试图将多维数组传递给foreach语句,当我这样做时,我将数组转换到的变量将丢失结构,因此无法正确访问它

例如—

  $unFilteredInfo = array();

    $sql  - ...
    // execute sql

    $i = 0;
    while ($rows = CDB::GetAssoc($lrs)) 
    {
        $unFilteredInfo["LINE1"][$i] = $rows["LINE1"];
        $unFilteredInfo["LINE2"][$i] = $rows["LINE2"];
        $unFilteredInfo["LINE3"][$i] = $rows["LINE3"];
        $i++;
    }
    // Array filled. 
    $arrayCount = count($unFilteredInfo); // 2547

    $ii = 0;
    foreach ($unFilteredInfo as $info)
    {
        $line1Info= $info["LINE1"]; // null..
        $line2Info= $info["LINE2"]; // null..
        $line3Info= $info["LINE3"]; // null..

        $line1Info= $info["LINE1"][$ii]; // null..
        $line2Info= $info["LINE2"][$ii]; // null..
        $line3Info= $info["LINE3"][$ii]; // null..
    $ii++;
    }
此外,在$info上运行varDump时,会打印-

    array (size=2547)
      0 => string 'APPO' (length=4)
      1 => string 'APPX' (length=4)
      2 => string 'APPO' (length=4)
      3 => string 'APPX' (length=4)
      4 => string 'APPI' (length=4)
      5 => string 'APPO' (length=4)
..................................
出于某种原因,当我访问foreach语句中的$info变量时,结果是null。我甚至尝试使用字符串键和int访问$info行数据,但仍然返回null


有什么想法吗?

您误解了自己的数组结构。看起来是这样的:

[
    LINE1 => [.., .., ..],
    LINE2 => [.., .., ..],
    LINE3 => [.., .., ..]
]
当您使用
foreach
循环它时,
$info
将是
[…,…]

老实说,这种阵列结构也相当疯狂。将其简化为:

$unFilteredInfo = array();
while ($row = CDB::GetAssoc($lrs)) {
    $unFilteredInfo[] = $row;
}
然后:


或者只需在第一个循环中执行
echo

执行
var\u转储($info)时会发生什么?你能给我们看一下阵列的结构/样本数据吗?你的回答让我发笑,我并没有说是错的。是的,这很好,很抱歉我的误解!
foreach ($unFilteredInfo as $info) {
    echo $info['LINE1'];
    ...
}