您好,欢迎访问一九零五行业门户网

使用 unset 和 array_filter 过滤多维数组

class a{ /** * 多维数组过滤包含指定元素的子数组 * $menu_list 菜单(一个四维数组) * $mmenu 接收过滤后的菜单 * $member_limits 保存在表中的菜单字段 */ public function multi_dimensional_array (){ // $menu_list = $this->_getmembermenulist(); $mmenu = array(); $member_limits = $this->member_limits(); // 用&对原始数据进行写操作 foreach($menu_list as &$value){ foreach($value['child'] as $k => $v){ if(!in_array($k,$member_limits)){ //清除元素 unset($value['child'][$k]); } } } // array($this,_filter) 相当于 $this->_filter() $mmenu = array_filter($menu_list, array($this,_filter)); } /** * array_filter 数组回调函数 * 将判断为空的指定元素过滤掉 */ protected function _filter($value){ foreach($value['child'] as $k => $v){ $result = isset($value['child']); if($result){ return $result ; } } }}
以上就介绍了使用 unset 和 array_filter 过滤多维数组,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
其它类似信息

推荐信息