如何改写成CI的遍历多维数组
本帖最后由 x171306523c 于 2012-7-14 15:43 编辑<?php
function arr_foreach ($arr)
{
if (!is_array ($arr))
{
return false;
}
foreach ($arr as $key => $val )
{
if (is_array ($val))
{
arr_foreach ($val);
}
else
{
echo $val.'<br/>';
}
}
}
$arr1 = array (1=>array(11,12,13,14=>array(141,142)),2,3,4,5);
echo '<pre>';
print_r($arr1);
echo '<pre>';
arr_foreach ($arr1);
?>
这是一个多维数组的递归遍历。输出结果为
Array
(
=> Array
(
=> 11
=> 12
=> 13
=> Array
(
=> 141
=> 142
)
)
=> 2
=> 3
=> 4
=> 5
)
11
12
13
141
142
2
3
4
5
请问,如何将以上代码用CI的MVC进行改写?
public function get_arr(){
$arr = array(1=>array(11,12,13,14=>array(141,142)),2,3,4,5);
echo $this->arr_foreach($arr);
}
public function arr_foreach($arr){
if(is_array($arr)){
foreach ($arr as $key => $val){
if (is_array($val)){
$this->arr_foreach($val);
}else{
echo $val.'<br/>';
}
}
}else{
echo $arr;
}
}
CI的方式,测试过了 顶顶.... 不明白如何去MVC一个简单函数!
但为何简单函数弄得如此复杂?能否简单点?
<?php
$arr1 = array (1 => array(11, 12, 13, 14 => array(141, 142)), 2, 3, 4, 5);
function print_val($val, $key)
{
echo $val . '<br />';
}
echo '<pre>';
print_r($arr1);
echo '<pre>';
array_walk_recursive($arr1, 'print_val');
?>
{:soso_e113:}
页:
[1]