phparray重新排序,php array排序

本文目录一览:

php 多维数组键值重新排序

$a

=

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

$b

=

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

PHP使用array_multisort对多个数组或多维数组进行排序

PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。

关联(string)键名保持不变,但数字键名会被重新索引。

输入数组被当成一个表的列并以行来排序——这类似于

SQL

ORDER

BY

子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的大小来排序,依此类推。——这句话是理解此函数用法的关键。

第一个参数必须是一个数组。接下来的每个参数可以是数组或者是下面列出的排序标志。

排序顺序标志:

■SORT_ASC

按照上升顺序排序

■SORT_DESC

按照下降顺序排序

排序类型标志:

■SORT_REGULAR

将项目按照通常方法比较

■SORT_NUMERIC

将项目按照数值比较

■SORT_STRING

将项目按照字符串比较

每个数组之后不能指定两个同类的排序标志。每个数组后指定的排序标志仅对该数组有效

在此之前为默认值

SORT_ASC

SORT_REGULAR。

看看两个实际例子:

1、一次对多个数组进行排序:

复制代码

代码如下:

$num1

=

array(3,

5,

4,

3);

$num2

=

array(27,

50,

44,

78);

array_multisort($num1,

SORT_ASC,

$num2,

SORT_DESC);

print_r($num1);

print_r($num2);

//result:

Array

(

[0]

=

3

[1]

=

3

[2]

=

4

[3]

=

5

)

Array

(

[0]

=

78

[1]

=

27

[2]

=

44

[3]

=

50

)

2、对多维数组(以二位数组为例)进行排序:

复制代码

代码如下:

$arr

=

array(

‘0’

=

array(

‘num1’

=

3,

‘num2’

=

27

),

‘1’

=

array(

‘num1’

=

5,

‘num2’

=

50

),

‘2’

=

array(

‘num1’

=

4,

‘num2’

=

44

),

‘3’

=

array(

‘num1’

=

3,

‘num2’

=

78

)

);

foreach

(

$arr

as

$key

=

$row

){

$num1[$key]

=

$row

[‘num1’];

$num2[$key]

=

$row

[‘num2’];

}

array_multisort($num1,

SORT_ASC,

$num2,

SORT_DESC,

$arr);

print_r($arr);

//result:Array([0]=Array([num1]=3

[num2]=78)

[1]=Array([num1]=3

[num2]=27)

[2]=Array([num1]=4

[num2]=44)

[3]=Array([num1]=5

[num2]=50))

总结:

这里的重点就是,先把要排序的key存到一个一维数组中,然后就可以使用array_multisort()这个函数,将数组按照key进行排序了,当然,这里的排序你完全可以不适用array_multisort()这个函数,仅仅通过foreach遍历也能达到这个效果,但是既然php开发者给我们提供了更好的办法,我们就可以省去不必要的麻烦了。

用PHP编写程序 有一个数组$arr=array(4,3,8,9,2),将其按从小到大的顺序重新排序

?php

$array=array(4,3,8,9,2);

sort($array);

echo “标准排序\n”;

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

echo $array[$i];

}

natsort($array);

echo “\n自然排序\n”;

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

echo $array[$i];

}

?

结果如下:

标准排序 23489 自然排序 23489

PHP数组重新排序

array_multisort 对多个数组或多维数组进行排序 排序的依据可以是自定义,完全可以用一个一维数组去排序多维数组.

$arrSort = [];

foreach($arr as $info) {

    $arrSort[] = $info[‘o’];

}

sort($arrSort);

array_multisort($arrSort, $arr);

array_multisort

你研究一下.这个是完全可行的.

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-15 12:43
下一篇 2024-12-15 12:43

相关推荐

  • JS Proxy(array)用法介绍

    JS Proxy(array)可以说是ES6中非常重要的一个特性,它可以代理一个数组,监听数据变化并进行拦截、处理。在实际开发中,使用Proxy(array)可以方便地实现数据的监…

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

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

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

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

    编程 2025-04-29
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • PHP与Python的比较

    本文将会对PHP与Python进行比较和对比分析,包括语法特性、优缺点等方面。帮助读者更好地理解和使用这两种语言。 一、语法特性 PHP语法特性: <?php // 简单的P…

    编程 2025-04-27
  • PHP版本管理工具phpenv详解

    在PHP项目开发过程中,我们可能需要用到不同版本的PHP环境来试验不同的功能或避免不同版本的兼容性问题。或者我们需要在同一台服务器上同时运行多个不同版本的PHP语言。但是每次手动安…

    编程 2025-04-24
  • scala Array

    一、Array的概述 Scala中的Array是不可变的,它是长度固定的序列,其中的元素类型相同。因此,Array可以看作是一种特殊的集合,其中的元素必须为同一类型。 要使用Arr…

    编程 2025-04-24
  • PHP数组去重详解

    一、array_unique函数 array_unique是php中常用的数组去重函数,它基于值来判断元素是否重复,具体使用方法如下: $array = array(‘a’, ‘b…

    编程 2025-04-24

发表回复

登录后才能评论