获取php

时间:2018-04-19 10:09:46

标签: php arrays foreach

这是我的数组

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

我想让价值属于'规则'不使用foreach循环的三个大数组内的数组。可能吗?

1 个答案:

答案 0 :(得分: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 递归遍历传递数组的每个元素,直到找到该键并返回其值。