bmfs.net
当前位置:首页 >> thinkPHP 多维数组遍历 >>

thinkPHP 多维数组遍历

你能描述的清楚点吗,你的数组结构是什么样的,是数组里面还有数组,还是2个一维数组? 如果是两个一维的:分开循环就可以了,如果是2维的就必须用循环嵌套了 {$vo1.name} {$vo2.name} 如果是第二种 {$vo.name} {$item.name}

//假设数组变量名为$arrforeach($arr as $value){ list($key, $son)=$value; if($son>1000000){ echo "超大"; }}方法很多建议你详细举个例子,比如:子数组的第二个元素必须大于11111111? 这样才能写出具体的方法

//转为一维数组 function arrayChange($a){ static $arr2; foreach($a as $v){ if(is_array($v)){ arrayChange($v); }else{ $arr2[]=$v; } } return $arr2; } 将任何数组传入,出来的都是一维数组

分开循环就可以了,如果是2维的就必须用循环嵌套了 {$vo1.name} {$vo2.name} 如果是第二种 {$vo.name} {$item.name}

//转为一维数组function arrayChange($a){ static $arr2; foreach($a as $v){ if(is_array($v)){ arrayChange($v); }else{ $arr2[]=$v; } } return $arr2;}将任何数组传入,出来的都是一维数组

遍历数组还是用foreach来执行 foreach($数组 as $row){ 这里$row就是一条数据 } foreach($数组 as $key=>$row){ 这里$row是一条数据 这里$key是这条数据在数组中的下标 }

用serialize 序列化 $arr=array('title'=>'标题','sx'=>serialize (array('gy'=>'englisth','kw'=>'难处')),'fmt'=>serialize (array('img'=>'tu','ms'=>'描述')));用unserialize 反序列化取出

$result=array();//新数组 foreach($dataas$vo){//$data是原数组 $temp=$vo; unset($temp['busername']); foreach($vo['busername']as$v){ $temp['busername']=$v; array_push($result,$temp); } }试试吧,如果还有不明白的话,你也可以去后盾人...

..................... ............ 类似这种结构就行了。 不建议楼主那样在模块中进行查询,最后在模型或者控制器中把需要的数据获取到,模块中只负责输出。不然MVC的意义就不大了。

数组成员的地址是连续的,可以用数组名叠加实现 int array(int *a) { int i=1; while(i) { if(*(a-1+i)==NULL) i=0; //这里填你要循环做的事 }} int main() { int s[9][9]; array(s); return 0;}

网站首页 | 网站地图
All rights reserved Powered by www.bmfs.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com