Php 循环多维数组并查找匹配值

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

我正在寻找一种通过多维数组循环的方法,如果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
        )

)
如果我得到一个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',
                ...
            ),
        )
    )
)