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/zh-tw/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

發表回復

登錄後才能評論