php数组按照多个键值排序,php数组按照多个键值排序

本文目录一览:

php数组排序有很多的方法,哪位可以详细的分解一二吗,如用函数和不用函数。

在php数组排序中我们通常会用到下列几个函数。

sort() —— 以升序对数组排序,是以元素值来排序的

rsort() —– 以降序对数组排序,以元素值来排序。

asort() —– 根据值,以升序对关联数组进行排序

ksort() —– 根据键,以升序对关联数组进行排序

arsort() —- 根据值,以降序对关联数组进行排序

krsort() —- 根据键,以降序对关联数组进行排序

array_multisort()—-对多个数组或多维数组进行排序

用sort函数来做下示例吧

?php

$string=array(“Yes”,”True”,”False”);

sort($string);

print_r($string);

?

运行结果为:Array ( [0] = False [1] = True [2] = Yes )

再来看一个array_multisort的例子了,

?php

$att[] = array(‘name’ = ‘cat’, ‘number’ = 2);

$att[] = array(‘name’ = ‘dog’, ‘number’ = 1);

$att[] = array(‘name’ = ‘dgg’, ‘number’ = 6);

$att[] = array(‘name’ = ‘monkey’, ‘number’ = 2);

$att[] = array(‘name’ = ‘bear’, ‘number’ = 6);

$att[] = array(‘name’ = ‘bee’, ‘number’ = 7);

array_multisort($att,SORT_DESC,SORT_REGULAR);

print_r($att);

?

输出结果为:

Array (

[0] = Array ( [name] = monkey [number] = 2 )

[1] = Array ( [name] = dog [number] = 1 )

[2] = Array ( [name] = dgg [number] = 6 )

[3] = Array ( [name] = cat [number] = 2 )

[4] = Array ( [name] = bee [number] = 7 )

[5] = Array ( [name] = bear [number] = 6 )

)

不用数组的来个例子了。

?php

$att[] = array(‘name’ = ‘cat’, ‘number’ = 2);

$att[] = array(‘name’ = ‘dog’, ‘number’ = 1);

$att[] = array(‘name’ = ‘dgg’, ‘number’ = 6);

$att[] = array(‘name’ = ‘monkey’, ‘number’ = 2);

$att[] = array(‘name’ = ‘bear’, ‘number’ = 6);

$att[] = array(‘name’ = ‘bee’, ‘number’ = 7);

for($i=0;$icount($att);$i++){

foreach($att as $key=$val){

if($att[$i][‘number’]$val[‘number’]){

$att[$key]=$att[$i];

$att[$i]=$val;

}

}

}

print_r($att);

?

结果:

Array (

[0] = Array ( [name] = bee [number] = 7 )

[1] = Array ( [name] = bear [number] = 6 )

[2] = Array ( [name] = dgg [number] = 6 )

[3] = Array ( [name] = cat [number] = 2 )

[4] = Array ( [name] = monkey [number] = 2 )

[5] = Array ( [name] = dog [number] = 1 )

)

当然还有更多的方法,如插入排序,选择排序,冒泡排序,快速排序等。这些网站有很多的,如这个网站上就有:至于数组和字符串的话,主要有str_split()、explode(),preg_split()三个函数。当然还有别的方法,上面那个网我站有说到,你可以自己去找一找了。

php如何按数组键值排序?

array_change_key_case — 返回字符串键名全为小写或大写的数组

array_chunk — 将一个数组分割成多个

array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

array_count_values — 统计数组中所有的值出现的次数

array_diff_assoc — 带索引检查计算数组的差集

array_diff_uassoc — Computes the difference of arrays with additional index check which is performed by a user supplied callback function.

array_diff — 计算数组的差集

array_fill — 用给定的值填充数组

array_filter — 用回调函数过滤数组中的单元

array_flip — 交换数组中的键和值

array_intersect_assoc — 带索引检查计算数组的交集

array_intersect — 计算数组的交集

array_key_exists — 检查给定的键名或索引是否存在于数组中

array_keys — 返回数组中所有的键名

array_map — 将回调函数作用到给定数组的单元上

array_merge_recursive — 递归地合并两个或多个数组

array_merge — 合并两个或多个数组

array_multisort — 对多个数组或多维数组进行排序

array_pad — 用值将数组填补到指定长度

array_pop — 将数组最后一个单元弹出(出栈)

array_push — 将一个或多个单元压入数组的末尾(入栈)

array_rand — 从数组中随机取出一个或多个单元

array_reduce — 用回调函数迭代地将数组简化为单一的值

array_reverse — 返回一个单元顺序相反的数组

array_search — 在数组中搜索给定的值,如果成功则返回相应的键名

array_shift — 将数组开头的单元移出数组

array_slice — 从数组中取出一段

array_splice — 把数组中的一部分去掉并用其它值取代

array_sum — 计算数组中所有值的和

array_udiff_assoc — Computes the difference of arrays with additional index check. The data is compared by using a callback function.

array_udiff_uassoc — Computes the difference of arrays with additional index check. The data is compared by using a callback function. The index check is done by a callback function also

array_udiff — Computes the difference of arrays by using a callback function for data comparison.

array_unique — 移除数组中重复的值

array_unshift — 在数组开头插入一个或多个单元

array_values — 返回数组中所有的值

array_walk — 对数组中的每个成员应用用户函数

array — 新建一个数组

arsort — 对数组进行逆向排序并保持索引关系

asort — 对数组进行排序并保持索引关系

compact — 建立一个数组,包括变量名和它们的值

count — 统计变量中的单元数目

current — 返回数组中的当前单元

each — 返回数组中当前的键/值对并将数组指针向前移动一步

end — 将数组的内部指针指向最后一个单元

extract — 从数组中将变量导入到当前的符号表

in_array — 检查数组中是否存在某个值

key — 从结合数组中取得键名

krsort — 对数组按照键名逆向排序

ksort — 对数组按照键名排序

list — 把数组中的值赋给一些变量

natcasesort — 用“自然排序”算法对数组进行不区分大小写字母的排序

natsort — 用“自然排序”算法对数组排序

next — 将数组中的内部指针向前移动一位

pos — 得到数组当前的单元

prev — 将数组的内部指针倒回一位

range — 建立一个包含指定范围单元的数组

reset — 将数组的内部指针指向第一个单元

rsort — 对数组逆向排序

shuffle — 将数组打乱

sizeof — count() 的别名

sort — 对数组排序

uasort — 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联

uksort — 使用用户自定义的比较函数对数组中的键名进行排序

usort — 使用用户自定义的比较函数对数组中的值进行排序

PHP数组排序

php中数组自定义排序 使用  usort函数

PHP  usort

$arr = array(“哈哈-默默-122″,”吸收-伏牛山-7″,”啥的-都是-12”);

usort($arr,function($v1, $v2){

    //将两个值切割

    $va1=explode(‘-‘,$v1);

    $va2=explode(‘-‘,$v2);

    //取两个值 的最后一段数字

    $num1 = intval(array_pop($va1));

    $num2 = intval(array_pop($va2));

    

    //返回比较结果

    return $num2$num1?1:($num2$num1?-1:0);

});

var_export($arr);

你看下上面排序结果是否你要的,如果反了,把return中的1和-1换一换就可以了

php如何根据数组中的键值进行排序

$newArr=array();

for($j=0;$jcount($arr);$j++){

$newArr[]=$arr[$j][‘flag’]

}

array_multisort($newArr,$arr);

print_r($arr)

php 多维数组键值重新排序

$a = array(2=array(1,2,3,4),6=array(6,2,3,5),1=array(1,4,53));

$b = array_values($a);//返回数组中的所有值,形成新的数组,建立数字索引

原创文章,作者:EODL,如若转载,请注明出处:https://www.506064.com/n/143473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
EODLEODL
上一篇 2024-10-20 20:42
下一篇 2024-10-22 23:33

相关推荐

  • 为什么Python不能编译?——从多个方面浅析原因和解决方法

    Python作为很多开发人员、数据科学家和计算机学习者的首选编程语言之一,受到了广泛关注和应用。但与之伴随的问题之一是Python不能编译,这给基于编译的开发和部署方式带来不少麻烦…

    编程 2025-04-29
  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python导入数组

    本文将为您详细阐述Python导入数组的方法、优势、适用场景等方面,并附上代码示例。 一、numpy库的使用 numpy是Python中一个强大的数学库,其中提供了非常丰富的数学函…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • Python返回数组:一次性搞定多种数据类型

    Python是一种多用途的高级编程语言,具有高效性和易读性的特点,因此被广泛应用于数据科学、机器学习、Web开发、游戏开发等各个领域。其中,Python返回数组也是一项非常强大的功…

    编程 2025-04-29
  • Python合并多个相同表头文件

    对于需要合并多个相同表头文件的情况,我们可以使用Python来实现快速的合并。 一、读取CSV文件 使用Python中的csv库读取CSV文件。 import csv with o…

    编程 2025-04-29
  • Python去掉数组的中括号

    在Python中,被中括号包裹的数据结构是列表,列表是Python中非常常见的数据类型之一。但是,有些时候我们需要将列表展开成一维的数组,并且去掉中括号。本文将为大家详细介绍如何用…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 从多个方面用法介绍yes,but let me review and configure level of access

    yes,but let me review and configure level of access是指在授权过程中,需要进行确认和配置级别控制的全能编程开发工程师。 一、授权确…

    编程 2025-04-29

发表回复

登录后才能评论