Php 循环多维数组并查找匹配值
我正在寻找一种通过多维数组循环的方法,如果key master为true,则使用if(或simular)查找匹配值 阵列:Php 循环多维数组并查找匹配值,php,if-statement,for-loop,multidimensional-array,Php,If Statement,For Loop,Multidimensional Array,我正在寻找一种通过多维数组循环的方法,如果key master为true,则使用if(或simular)查找匹配值 阵列: Array ( [0] => Array ( [namn] => Vardagsrum [IP] => 192.168.1.232 [rincon] => RINCON_000E58A64F1601400 [rincon_l
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
)
)
如果我得到一个master=>true(在本例中为vardagsrum),我希望循环将所有slave=>true rincon_live值与masters rincon值相匹配
我不知道这是否有任何意义,但如果我有一个或多个主人,我想检查奴隶rincon对主人,看看哪些奴隶是连接到哪个主人,然后做一些事情
谢谢你的帮助 您可能需要使用两个循环。一个用来建造结构,另一个用来做一些事情。快速模型(有一段时间没有编写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;
}
}
?>
<?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',
...
),
)
)
)