php 对二维数组的某个字段公用排序的方法

function array_sort($arr ,$keys,$order=0){

if(!is_array($arr)){
return false;
}
$keysvalue=array();
foreach ($arr as $key=>$val){
$keysvalue[$key]=$val[$keys];
}
if($order==0){
asort($keysvalue);
}else{
arsort($keysvalue);
}
foreach ( $keysvalue as $key=>$vals){
$keysort[$key]=$key;

}
echo ‘keysort=‘.var_dump($keysort);
$new_array=array();
foreach ($keysort as $key=>$val){
$new_array[$key]=$arr[$val];
}
return $new_array;
}

$t=array( array(‘id‘=>2,‘name‘=>‘teswt‘), array(‘id‘=>3,‘name‘=>‘2teswt‘),array(‘id‘=>1,‘name‘=>‘3teswt‘));
var_dump(array_sort($t, ‘id‘,1)) ;

时间: 2024-11-06 23:45:56

php 对二维数组的某个字段公用排序的方法的相关文章

PHP中根据二维数组中某个字段实现排序

想要实现二维数组中根据某个字段排序,一般可以通过数组循环对比的方式实现.这里介绍一种更简单的方法,直接通过PHP函数实现.array_multisort() :可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序.详细介绍可参考PHP手册:https://www.php.net/manual/zh/function.array-multisort.php 实例: 1.单个字段排序: $data = [ ['id' => 1, 'name' => '张三', 'sort' =&

php二维数组按照某一列排序的方法

/**  * 二维数组排序方法,数字的倒叙排列  * @param arr  * @param field  */ function sortArrByField(&$array, $field, $desc = false){ $fieldArr = array(); foreach ($array as $k => $v) { $fieldArr[$k] = $v[$field]; } $sort = $desc == false ? SORT_ASC : SORT_DESC; arra

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

原文:PHP 二维数组根据某个字段排序 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条. 遇到这个要求的时候就不是 ORDER BY 能解决的问题了.因此翻看 PHP 手册查找到了如下方法,做此笔记. <?php /** * 二维数组根据某个字段排序 * 功能:按照用户的年龄倒序排序 * @author ruxing.li */ header('Content-Type:text/html;Charset=utf-8'

二维数组作为函数参数的几种方法

#include <stdio.h> #define N 5 void fun1(int a[N][N]) { int i,j; for (i=0;i<N;i++) { for (j=0;j<N;j++) { if (i>j) { a[i][j]+=a[j][i]; a[j][i]=0; } } } } void fun2(int **a,int m,int n) { int i,j; for (i=0;i<m;i++) { for (j=0;j<n;j++) {

php对二维数组进行相关操作(排序、转换、去空白等)

php对二维数组进行相关操作(排序.转换.去空白等) 投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-11-04 这篇文章主要介绍了php对二维数组进行相关操作,包括php对二维数组排序.转换.去空白,以及去重复值等,感兴趣的小伙伴们可以参考一下 技巧提示: ? 1 2 3 4 5 6 7 8 9 array_keys($array) //返回所有键名   array_values($array) //返回所有键值    $result=array_reverse($inp

php将一个二维数组按照某个字段值合并成一维数组,如果有重复则将重复的合并成二维数组

版权声明:本文为博主原创文章,未经博主允许不得转载. 最近工作中碰到一个问题,用PHP将一个二维数组按照二维数组中的各个项中的某个特定字段值合并成一维数组,如果有重复则将重复的合并成二维数组,生成的二维数组的第一维的键是特定字段的值,二维的键可以是随机索引,也可以是其中的另一个字段的值.其实这个需求经常会在工作中碰到,只是碰到的时候一个有重复的就直接用之前的覆盖后面的或者用之后的覆盖之前的,这样很容易就可以处理了.很少碰到这种有一维数组又有二维数组的情况,先上代码: $a = array( 0

二维数组针对某字段排序 - array_multisort()

/** * 针对二维数组下的某字段排序 * @param array $myarr 被排序数组 * @param string $sort_key 排序根据字段 * @param flag $sort_order 排序规则:SORT_ASC.SORT_DESC * @param flag $sort_type 排序类型:SORT_REGULAR.SORT_NUMERIC.SORT_STRING * @return array 排序后的数组 */ public function myarr_sor

qsort 函数的使用——对普通数组、指针数组、二维数组中的元素进行排序

在ANSI C中,qsort函数的原型是 #include <stdlib.h> void qsort(void *base, size_t nmemb, size_t size, int (*compar) (const void *, const void *)); 解释:qsort函数对含有nmemb个元素的数组进行排序,而base指针指向数组的第一个元素.这个数组的元素个数由size指定. compar函数对qsort的比较操作进行定义,所以可以定制数字的比较,字符串的比较,甚至结构体

PHP二维数组根据某个元素(key)排序

/** * 二维数组根据key排序 * @param $arr * @param $arr_key * @param string $order 排序规则 * @return mixed */ function myArrayMultisort($arr,$arr_key,$order='asc'){ foreach($arr as $val){ $key_arrays[]=$val[$arr_key]; } if ($order == 'asc'){ array_multisort($key_