php对二维数组重新排序失败,请大神帮忙php二维数组重新排序

Array ( Array ('id' => 3, 'username' => 'alex ','parentname'=> 'john'

,'proname' => 'tttt' 'num'=> 1 , 'userid' =>6 ,'parentid'=>8 ,

'cpid'=> 0 ,'mobile'=> 15533336666 ,'parentmobile' => 156477765465) );

把最后两个分别放在第2个和第4个位置 ,怎么重新排序?

Array ( Array ('id' => 3, 'username' => 'alex ','mobile'=> 15533336666

,'parentname'=> 'john' ,'parentmobile' => 156477765465 ,'proname' => 'tttt' 'num'=> 1 ,

'userid' =>6 ,'parentid'=>8 ,'cpid'=> 0 );

回复讨论(解决方案)

你这算什么排序?

不就是调一下位置吗?为什么要调呢?

最后要用excel输出呀,不这样排序的话,格式全乱了

从数据库里面调出100条的话,有无这样的排序办法?

你这算什么排序?

不就是调一下位置吗?为什么要调呢?

你这算什么排序?

不就是调一下位置吗?为什么要调呢?

有办法调位置吗?谢谢了

从数据库里面调出100条的话,有无这样的排序办法?

从数据库?你查询的时候直接改变下顺序不就行了?

从数据库里面调出100条的话,有无这样的排序办法?

从数据库?你查询的时候直接改变下顺序不就行了?

最后两个字段还是从另外的表间接查询的结果,然后用数组追加进来的,所以就导致现在的这个位置问题

1、从数据库里取出时,不要简单的 select *

而是 select id, username, mobile .... 这样一一开列,你要求的排列顺序不就有了

2、用 php 代码也是可以的$a = Array ( Array ('id' => 3, 'username' => 'alex ','parentname'=> 'john' ,'proname' => 'tttt', 'num'=> 1 , 'userid' =>6 ,'parentid'=>8 , 'cpid'=> 0 ,'mobile'=> 15533336666 ,'parentmobile' => 156477765465) );$k = Array ('id', 'username', 'mobile', 'parentname', 'parentmobile', 'proname', 'num', 'userid', 'parentid', 'cpid');foreach($a as $i=>$v) { extract($v); $a[$i] = compact($k);}print_r($a); Array( [0] => Array ( [id] => 3 [username] => alex [mobile] => 15533336666 [parentname] => john [parentmobile] => 156477765465 [proname] => tttt [num] => 1 [userid] => 6 [parentid] => 8 [cpid] => 0 ))

你的是key=>value

怎么排都不影响使用。

不过可以这样写3,'username'=>'alex','parentname'=>'john','proname'=>'tttt','num'=> 1 , 'userid' =>6 ,'parentid'=>8 ,'cpid'=> 0 ,'mobile'=> 15533336666 ,'parentmobile' => 156477765465), array('id'=>3,'username'=>'alex','parentname'=>'john','proname'=>'tttt','num'=> 1 , 'userid' =>6 ,'parentid'=>8 ,'cpid'=> 0 ,'mobile'=> 15533336666 ,'parentmobile' => 156477765465), array('id'=>3,'username'=>'alex','parentname'=>'john','proname'=>'tttt','num'=> 1 , 'userid' =>6 ,'parentid'=>8 ,'cpid'=> 0 ,'mobile'=> 15533336666 ,'parentmobile' => 156477765465),);$result = array();$fields = array('id','username','mobile','parentname','parentmobile','proname','num','userid','parentid','cpid');foreach($arr as $k=>$v){ $tmp = array(); foreach($fields as $f){ $tmp[$f] = $v[$f]; } $result[] = $tmp;}print_r($result);

多谢大家指点了

如问题解决了请结帖。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值