Login
网站首页 > 文章中心 > 其它

php的二维数组排序

作者:小编 更新时间:2023-08-16 09:48:19 浏览量:203人看过

如何对PHP二维数组根据第二维某键值去重和排序

①. 需要排序的数组如下:

$array = array(

);

function arr_sort($array,$key,$order="asc"){//asc是升序 desc是降序

$arr_nums=$arr=array();

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

$arr_nums[$k]=$v[$key];

}

if($order=='asc'){

asort($arr_nums);

}else{

arsort($arr_nums);

foreach($arr_nums as $k=$v){

$arr[$k]=$array[$k];

return $arr;

arr_sort($array,'price');

php二维数组自定义排序

function?pSort($arr)

{

$TimeSort?=?array();

foreach?($arr?as?$key?=?$value)?{

$TimeSort[$key]?=?$value['age'];

asort($TimeSort);

$data?=?array();

foreach?($TimeSort?as?$key?=?$value)?{

$data[]?=?$arr[$key];

$i?=?0;

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

$arr[$k]?=?$data[$i];

$i◆◆;

return?$arr;

主要部分,你也可以考虑用那个多为数组排序的那个函数,上面这个是我前几天自己写的,不知道在你这能用不

php循环的二维数组如何排序

php

rsort($arr);

if($num0){

$arr_1=array(array("$arr[$a]","$num"));

$num_1 = array();

array_multisort( $num_1,SORT_DESC , $arr_1);

print_r($arr_1);

php 二维数组的排序问题

对二维数组排序,得用到array_multisort()

下面是从php手册摘出来的例子.具体请根据你的问题查阅手册.

=========

数据全都存放在名为 data 的数组中.这通常是通过循环从数据库取得的结果,例如 mysql_fetch_assoc().

本例中将把 volume 降序排列,把 edition 升序排列.

现在有了包含有行的数组,但是 array_multisort() 需要一个包含列的数组,所以呢用以下代码来取得列,然后排序.

// 取得列的列表

foreach ($data as $key = $row) {

$volume[$key] = $row['volume'];

$edition[$key] = $row['edition'];

// 将数据根据 volume 降序排列,根据 edition 升序排列

// 把 $data 作为最后一个参数,以通用键排序

array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);

数据集合现在排好序了,结果如下:

volume | edition

-------◆--------

thinkPHP二维数组排序

遇到这个要求的时候就不是 ORDER BY 能解决的问题了.所以呢翻看 PHP 手册查找到了如下方法,做此笔记.

废话少说,奉上代码,清单如下:

[php] view plain copy

/**

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

* 功能:按照用户的年龄倒序排序

* @author ruxing.li

*/

$arrUsers = array(

array(

'id' = 1,

'name' = '张三',

),

'name' = '李四',

'name' = '王五',

'name' = '赵六',

'name' = '黄七',

$sort = array(

'direction' = 'SORT_DESC', //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序

'field' = 'age', //排序字段

$arrSort = array();

foreach($arrUsers AS $uniqid = $row){

foreach($row AS $key=$value){

$arrSort[$key][$uniqid] = $value;

if($sort['direction']){

array_multisort($arrSort[$sort['field']], constant($sort['direction']), $arrUsers);

var_dump($arrUsers);

/*

输出结果:

0 =

①. =

'id' = int 1

PHP中怎么根据二维数组中的子数组的某个元素进行排序

//先用array_column 多维数组按照纵向(列)取出

$date = array_column($arr, '0');

//上面得到的结果:array()

//再用array_multisort 结合array_column得到的结果对$arr进行排序

array_multisort($date,SORT_ASC,$arr);

以上就是土嘎嘎小编为大家整理的php的二维数组排序相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章