这是我的阵列
Array (
[camp] => 1523270715437137241
[seg] => Array
([0] => Array
( [id] => 1524043028577447661
[ben] => 10000
[rule] => Array
([0] => Array
([id] => 1524050160515158364
[logic] => #3 and # 4
)))))
我想让值属于'rule'数组,它在三个大数组内,不使用foreach循环。可能吗?
试试这个函数,递归方式:
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和递归遍历传递的数组的每个元素,直到找到键并返回其值。