PHP按指定键值对二维数组进行排序的方法_php技巧

本文实例讲述了PHP按指定键值对二维数组进行排序的方法。分享给大家供大家参考,具体如下:

问题:

有数组:

复制代码 代码如下:

array(0=>array('id'=>1,'price'=>50),1=>array('id'=>2,'price'=>60));

要求根据数组的price这个字段进行排序。

实现代码如下:

<?php
$array[] = array('id'=>1,'price'=>50);
$array[] = array('id'=>2,'price'=>70);
$array[] = array('id'=>3,'price'=>30);
$array[] = array('id'=>4,'price'=>20);
foreach ($array as $key=>$value){
  $id[$key] = $value['id'];
  $price[$key] = $value['price'];
}
array_multisort($price,SORT_NUMERIC,SORT_DESC,$id,SORT_STRING,SORT_ASC,$array);
echo '<pre>';
print_r($array);
echo '</pre>';
?>

运行结果:

Array
(
[0] => Array
(
[id] => 2
[price] => 70
)
[1] => Array
(
[id] => 1
[price] => 50
)
[2] => Array
(
[id] => 3
[price] => 30
)
[3] => Array
(
[id] => 4
[price] => 20
)
)

希望本文所述对大家PHP程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 二维数组
, 排序
, 指定键值
PHP二维数组排序
php 二维数组键值排序、二维数组根据键值排序、php二维数组查找键值、php二维数组删除键值、php二维数组键值修改,以便于您获取更多的相关知识。

时间: 2024-08-30 20:03:21

PHP按指定键值对二维数组进行排序的方法_php技巧的相关文章

php实现搜索一维数组元素并删除二维数组对应元素的方法_php技巧

本文实例讲述了php实现搜索一维数组元素并删除二维数组对应元素的方法.分享给大家供大家参考.具体如下: 定义一个一维数组一个二维数组如下 $fruit=array('apple','orange'); $products = array( array('name'=>'apple','price'=>23.4), array('name'=>'orange','price'=>45.3), array('name'=>'biscuit','number'=>5,'pri

php 二维数组时间排序实现代码_php技巧

昨天要排序数组的时候发现了,要按时间排序,但是php并没有内设这个函数,所以在网上找到了这个代码,第一个参数为数组,第二个是要排序的元素,第三个为排序方式, 下面就是php 二维数组排序的代码 function arraySort($arr, $keys, $type = 'asc') { $keysvalue = $new_array = array(); foreach ($arr as $k => $v){ $keysvalue[$k] = $v[$keys]; } $type == 'a

php根据某字段对多维数组进行排序的方法_php技巧

本文实例讲述了php根据某字段对多维数组进行排序的方法.分享给大家供大家参考.具体分析如下: 根据某字段对多维数组进行排序,在看到array_multisort方法的作用时突然想到,可以用来做这个方法 这段代码可实现根据field字段对数组进行排序 function sortArrByField(&$array, $field, $desc = false){ $fieldArr = array(); foreach ($array as $k => $v) { $fieldArr[$k]

两种php去除二维数组的重复项方法_php技巧

php去掉二维数组的重复值的方法总结,具体代码如下:方法一: //二维数组去掉重复值 function array_unique_fb($array2D){ foreach ($array2D as $v){ $v=join(',',$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 $temp[]=$v; } $temp=array_unique($temp); //去掉重复的字符串,也就是重复的一维数组 foreach ($temp as $k => $v){ $

php去除二维数组的重复项方法_php技巧

php中去一维数组的重复项可以通过php内置函数array_unique(),但是php的array_unique函数对多维数组并不适用,怎么才能去除二维数组中的重复项呢? 以下给大家提供一个函数. //二维数组去掉重复值 function unique_arr($array2D,$stkeep=false,$ndformat=true){ $joinstr='+++++'; // 判断是否保留一级数组键 (一级数组键可以为非数字) if($stkeep) $stArr = array_keys

PHP统计二维数组元素个数的方法_php实例

解决思路1. 首先从数据库的congtent字段读取数据,并把它们合并成一个字符串. 复制代码 代码如下: <?php while($myrow = $connector -> fetch_array($result)) {  //$r[] = explode(",", $myrow["content"]);  $str .= $myrow["content"].','; }  $arr_str = substr($str, 0, -

PHP二维数组的去重问题解析_php技巧

之前写了一篇关于数组去重的文章,但是仅限于一维数组.下面的函数可以用于二维数组: 复制代码 代码如下: //二维数组去掉重复值 function array_unique_fb($array2D) { foreach ($array2D as $v) { $v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 $temp[] = $v; } $temp = array_unique($temp); //去掉重复的字符串,也就是重复的一

迅速确定php多维数组的深度的方法_php技巧

例如有一个多维数组: 复制代码 代码如下: array( array( array(1,3,4), array( array( 1,2,3 ) ) ), array( array(1,2), array(1) ) ) 这个数组的深度就是5,那么如何快速的确定一个数组深度. (PS:T不错的PHP Q扣峮:276167802,验证:csl) 其实,只是上面的答案应该再进行排序就可以了.下面清源分享一个简单的计算深度函数: 复制代码 代码如下: <?php function array_depth(

php自定义函数实现二维数组按指定key排序的方法_php技巧

本文实例讲述了php自定义函数实现二维数组按指定key排序的方法.分享给大家供大家参考,具体如下: 二维数组官方的排序方法并不好,该函数可以进行指定key的排序,已经测试并使用,代码如下: /*二维数组按指定的键值排序*/ function array_sort($arr, $keys, $type = 'desc') { $keysvalue = $new_array = array(); foreach ($arr as $k => $v) { $keysvalue[$k] = $v[$ke