我目前有一个select语句,它构建一个数组,并为值进行循环。它返回正确的值,但没有分配正确的分配。
因此,我将位置视为数组键,这是正确的,但例如在下面的数组中,
Office 1
应该有一个数组
ID 1
分配
Room Main
和
ID 2
分配给
Room Extra
但是相反,
display_id
在显示名称之外的数组中。
我的查询:
SELECT l.id , location_name, d.id as display_id, display_name, location_id
FROM locations l
inner join displays d
ON d.location_id = l.id;";
我的代码:
$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['display_id'];
$displayNames[$subArray['location_name']][] = $subArray['display_name'];
}
此操作当前转储此数组:
Array
(
[Office 1] => Array
(
[0] => Room Main
[1] => Room Extra
)
[0] => 1
[1] => 2
[Office 2] => Array
(
[0] => Room Conference
[1] => Room Break
)
[2] => 3
[3] => 4
我只需要为显示名称分配显示ID,因为我正在为每个显示名称构建链接,我正在尝试将显示ID保存为每个显示名称的URL值。
我到底做错了什么?