PHP數(shù)組函數(shù)array_multisort()用法實例分析
來源:易賢網(wǎng) 閱讀:796 次 日期:2016-08-29 15:50:32
溫馨提示:易賢網(wǎng)小編為您整理了“PHP數(shù)組函數(shù)array_multisort()用法實例分析”,方便廣大網(wǎng)友查閱!

本文實例分析了PHP數(shù)組函數(shù)array_multisort()用法。分享給大家供大家參考,具體如下:

有時候我們需要對二維數(shù)組的某個鍵的值進(jìn)行排序,這里就是討論這個問題。我們可以使用array_multisort()這個函數(shù)。array_multisort() 函數(shù)對多個數(shù)組或多維數(shù)組進(jìn)行排序。

參數(shù)中的數(shù)組被當(dāng)成一個表的列并以行來進(jìn)行排序 - 這類似 SQL 的 ORDER BY 子句的功能。第一個數(shù)組是要排序的主要數(shù)組。數(shù)組中的行(值)比較為相同的話,就會按照下一個輸入數(shù)組中相應(yīng)值的大小進(jìn)行排序,依此類推。

第一個參數(shù)是數(shù)組,隨后的每一個參數(shù)可能是數(shù)組,也可能是下面的排序順序標(biāo)志(排序標(biāo)志用于更改默認(rèn)的排列順序)之一:

SORT_ASC - 默認(rèn),按升序排列。(A-Z)

SORT_DESC - 按降序排列。(Z-A)

隨后可以指定排序的類型:

SORT_REGULAR - 默認(rèn)。將每一項按常規(guī)順序排列。

SORT_NUMERIC - 將每一項按數(shù)字順序排列。

SORT_STRING - 將每一項按字母順序排列。

語法:array_multisort(array1,sorting order,sorting type,array2,array3...)

array1:必需。規(guī)定輸入的數(shù)組。

sorting order:可選。規(guī)定排列順序??赡艿闹凳?SORT_ASC 和 SORT_DESC。

sorting type:可選。規(guī)定排序類型??赡艿闹凳荢ORT_REGULAR、SORT_NUMERIC和SORT_STRING。

array2:可選。規(guī)定輸入的數(shù)組。

array3:可選。規(guī)定輸入的數(shù)組。

字符串鍵名將被保留,但是數(shù)字鍵將被重新索引,從 0 開始,并以 1 遞增。可以在每個數(shù)組后設(shè)置排序順序和排序類型。如果沒有設(shè)置,每個數(shù)組參數(shù)會使用默認(rèn)值。

下面是一個例子:

<?php

 $arr = '';

 echo '二維數(shù)組如下:'.'<br / >';

 for($i=0; $i<=5; $i++)

 {

 $arr[$i]['val'] = mt_rand(1, 100);

 $arr[$i]['num'] = mt_rand(1, 100);

 }

 echo '<pre>';

 print_r($arr);

 echo '</pre>';

 echo '從二維數(shù)組中抽出鍵為val,單獨成另一個數(shù)組:'.'<br / >';

 foreach ($arr as $key => $row) 

 {

   $vals[$key] = $row['val'];

    $nums[$key] = $row['num'];

 }

 echo '<pre>';

 print_r($vals);

 echo '</pre>';

 echo '對其進(jìn)行排序:'.'<br / >';

 array_multisort($vals, SORT_ASC, $arr);

 echo '<pre>';

 print_r($vals);

 echo '</pre>';

?>

運行結(jié)果:

二維數(shù)組如下:

Array

(

  [0] => Array

    (

      [val] => 46

      [num] => 49

    )

  [1] => Array

    (

      [val] => 8

      [num] => 24

    )

  [2] => Array

    (

      [val] => 37

      [num] => 3

    )

  [3] => Array

    (

      [val] => 32

      [num] => 35

    )

  [4] => Array

    (

      [val] => 19

      [num] => 38

    )

  [5] => Array

    (

      [val] => 30

      [num] => 37

    )

)

從二維數(shù)組中抽出鍵為val,單獨成另一個數(shù)組:

Array

(

  [0] => 46

  [1] => 8

  [2] => 37

  [3] => 32

  [4] => 19

  [5] => 30

)

對其進(jìn)行排序:

Array

(

  [0] => 8

  [1] => 19

  [2] => 30

  [3] => 32

  [4] => 37

  [5] => 46

)

這樣我們將得到一個按val升序排序的二維數(shù)組。

希望本文所述對大家PHP程序設(shè)計有所幫助。

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:PHP數(shù)組函數(shù)array_multisort()用法實例分析
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)