php array 循环取值,循环数组取值效率问题

如图所示 三维数组

bVkjXl

好的。。那么。问题来了。。

如果想删除所有第三层里的seeAnalysis这个键值

正常是用两个foreach,到第三层然后unset

可是就有效率问题

第三层数组可能有数千个之多

bVkjXn

那末。。有什么提高效率的办法吗~

回复内容:

如图所示 三维数组

bVkjXl

好的。。那么。问题来了。。

如果想删除所有第三层里的seeAnalysis这个键值

正常是用两个foreach,到第三层然后unset

可是就有效率问题

第三层数组可能有数千个之多

bVkjXn

那末。。有什么提高效率的办法吗~

为何不换一种思路呢?

你拿着数组是为了什么?还不是为了模板展现,

你在模板展现的时候,是不是需要遍历?

那么,你在模板遍历的时候,先判断seeAnalysis,根据条件忽略不就行了?

phpbool array_walk_recursive ( array &$input , callable $funcname [, mixed $userdata = NULL ] )

看一个例子:

php$v) {

if (is_array($v)) {

$array[$k] = walk_recursive_remove($v, $callback);

} else {

if ($callback($v, $k)) {

unset($array[$k]);

}

}

}

return $array;

}

?>

相关标签:php

本文原创发布php中文网,转载请注明出处,感谢您的尊重!