【发布时间】:2018-07-18 12:55:35
【问题描述】:
我目前正在从 sql 查询构建一个数组
$displayResult = $mysqlConn->query($getDisplays);
$displayNames = array();
foreach($displayResult as $subArray) {
if(!array_key_exists($subArray['location_name'], $displayNames)) {
$displayNames[$subArray['location_name']] = array();
}
$displayNames[$subArray['location_name']][] = $subArray['display_name'];
}
print_r($displayNames);
它的打印如下:
Array
(
[Office 1] => Array
(
[0] => lobby
[1] => break room
)
[Office 2] => Array
(
[0] => lobby
[1] => break room
)
但由于某种原因,当我循环并尝试将数组键作为标题和子项作为链接回显时,它只会转储单词“数组”
<?php foreach($displayNames as $key => $displayName):?>
<h2><?php echo $key; ?></h2>
<a><h4><?php echo $displayName; ?></h4></a>
<?php endforeach;?>
我尝试按索引转储,但它是空白的。我需要另一个嵌套的 foreach 来获取每个孩子吗?
【问题讨论】:
-
$displayName是一个数组,不是吗? -
$displayNames 是,但 $displayName 应该作为这里的值,对吧?
-
那个值是什么?确切地说,一个 array 包含两个条目
lobby和break room... -
没有。此循环中的 displayName 包含包含
0 => lobby, 1 => break room的数组...您的 $key 实际上包含 Office 1 和 Office 2(在下一个循环中)