php 二维数组 简单写法,简单几句码实现PHP中对二维数组的排序

本文最后更新于2019-09-30,已超过 1年没有更新,如果文章内容、图片或者下载资源失效,请留言反馈,我会及时处理,谢谢!

温馨提示:本文共1077个字,读完预计3分钟。

PHP中对二维数组的排序

方法一:

/**

* 二维数组根据某个字段排序

* @param array $array 要排序的数组

* @param string $keys   要排序的键字段

* @param string $sort  排序类型  SORT_ASC     SORT_DESC

* @return array 排序后的数组

*/

function arraySort($array, $keys, $sort = SORT_ASC) {

$keysValue = [];

foreach ($array as $k => $v) {

$keysValue[$k] = $v[$keys];

}

array_multisort($keysValue, $sort, $array);

return $array;

}

方法二:

/*

* 二维数组排序

* */

public function zk_sort_array_multi(array &$arr, array $keys, array $order)

{

//校验参数

if ( count($keys) == ($times = count($order)) ) {

for ( $i = 0, $j = 0; $j < $times; $i += 2, $j++ ) {

foreach ( $arr as $k => $v ) {

//原数组是否存在该字段

if ( isset($v[$keys[$j]]) ) {

$params[$i][] = $v[$keys[$j]];    //TODO 中文排序支持 //$params[$i][] = iconv(‘UTF-8’, ‘GBK’, $v[$keys[$j]]);

} else {

return false;

}

}

if ( strtoupper($order[$j]) == 'ASC' ) {

$params[$i + 1] = SORT_ASC;

} else {

$params[$i + 1] = SORT_DESC;

}

}

$params[] = &$arr;

return call_user_func_array('array_multisort', $params);

} else {

return false;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值