获取php中另一个数组内的特定数组[复制]

问题描述 投票:2回答:1

这是我的阵列

 Array (
    [camp] => 1523270715437137241
    [seg] => Array
        ([0] => Array
                ( [id] => 1524043028577447661
                    [ben] => 10000
                    [rule] => Array
                        ([0] => Array
                                ([id] => 1524050160515158364
                                    [logic] => #3 and # 4
                                )))))

我想让值属于'rule'数组,它在三个大数组内,不使用foreach循环。可能吗?

php arrays foreach
1个回答
0
投票

试试这个函数,递归方式:

function getval($arrs, $k) {
    foreach($arrs as $key=>$val) {
        if( $key === $k ) {
            return $val;
        }
        else {
            if(is_array($val)) {
                $ret = getval($val, $k);
                if($ret !== NULL) {
                    return $ret;
                }
            }
        }
    }
    return NULL;
}

print_r(getval( $array, "rule" )); // prints the array value of element with key "rule"

这可以使用foreach和递归遍历传递的数组的每个元素,直到找到键并返回其值。

© www.soinside.com 2019 - 2024. All rights reserved.