Can';t将多维数组传递给foreach函数-PHP
我试图将多维数组传递给foreach语句,当我这样做时,我将数组转换到的变量将丢失结构,因此无法正确访问它 例如—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
$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'];
...
}