我正在寻找一种循环遍历多维数组的方法,并且如果key master为true,则使用if(或simular)查找匹配值。
数组:
Array
(
[0] => Array
(
[namn] => Vardagsrum
[IP] => 192.168.1.232
[rincon] => RINCON_000E58A64F1601400
[rincon_live] => RINCON_000E58A64F1601400
[master] => 1
)
[1] => Array
(
[namn] => Badrum
[IP] => 192.168.1.137
[rincon] => RINCON_B8E937580A5801400
[rincon_live] => RINCON_000E58A64F1601400
[slave] => 1
)
[2] => Array
(
[namn] => Kök
[IP] => 192.168.1.134
[rincon] => RINCON_000E58F8C9E001400
[rincon_live] => RINCON_000E58A64F1601400
[slave] => 1
)
)
如果我有一个主人=> true(在这种情况下是vardagsrum)我希望循环匹配所有slave =>真正的rincon_live值与主人rincon值相对应。
我不知道这是否有任何意义,但如果我有一个或多个主人,我想检查奴隶rincon对主人,看看哪些奴隶连接到哪个主人,然后做了什么。
感谢您的帮助!
答案 0 :(得分:0)
你可能想要使用2个循环。一个用于构建结构,另一个用于构建结构。快速模型(暂时不编写PHP):
<?php
$result = array();
foreach ($array as $item) {
if (!isset($result[$item['rincon']])) {
$result[$item['rincon']] = array(
'master' => null,
'slaves' => array(),
);
}
if (isset($item['master']) && $item['master']) {
// master
$result[$item['rincon']]['master'] = $item;
} else {
// probably slave, might want to rewrite the else to an elseif
$result[$item['rincon']]['slaves'][] = $item;
}
}
?>
现在$result
将包含一个数组,其中rincon作为键,其中的主/从类如下:
<?php
$result = array(
'RINCON_000E58A64F1601400' => array(
'master' => array(
'namn' => 'foo',
'IP' => '127.0.0.1',
...
),
'slaves' => array(
array(
'namn' => 'foo',
'IP' => '127.0.0.1',
...
),
array(
'namn' => 'bar',
'IP' => '127.0.0.1',
...
),
)
)
)
我认为你知道如何循环