亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網
    最全最豐富的資訊網站

    怎樣解決PHP中數組的排序和打亂問題?

    在之前的文章《怎樣獲取數組中的鍵名?怎樣轉換鍵名的大小寫?》中詳細的介紹了PHP中鍵名操作的獲取鍵名與轉換鍵名大小寫的相關操作,本篇文章我們一起來看一下PHP中怎樣對多個數組進行排序,希望對大家有幫助!

    怎樣解決PHP中數組的排序和打亂問題?

    在上一篇文章中我們了解了想要獲取數組中所有的元素名需要通過array_keys函數來實現,想要轉換數組鍵名的大小寫需要通過array_change_key_case函數來進行操作。這都是屬于數組操作的一部分,我們之前在《怎樣去給PHP數組進行排序(圖文詳解)》中簡單的介紹了一些。

    在PHP中怎樣才能對多個數組進行排序?有怎樣隨機的對數組進行隨機排序呢?在PHP中有內置的array_multisort函數與shuffle函數能夠對數組進行升序排列和隨機排序,下面我們一起來看一下吧。

    array_multisort函數-對多個數組進行排序

    在PHP中array_multisort函數能夠輸入一個或者多個數組,函數會先給第一個數組排序,然后接著對下一組進行排序。array_multisort函數的基本語法格式如下:

    array_multisort(array1,sorting order,sorting type,array2,array3...)

    其中需要注意的是:

    參數array1是必須要有的,是要進行排序的數組,參數array2、3是可選的,也是要進行排序的數組。參數sorting order也是一個可選的參數,在默認的情況下參數表示的是SORT_ASC,表示的是數組排序是升序,當單數sorting order為SORT_DESC的時候,表示的是按降序排列。

    參數sorting type也是一個可選參數,默認情況下的值為SORT_REGULAR表示的是,數組排序按照常規(guī)順序排列。當參數的值為SORT_NUMERIC 的時候表示的是將數組中的元素當做數字來進行處理。當參數的值為SORT_STRING表示的是將數組中的元素當做字符串來進行處理。當參數的值為SORT_LOCALE_STRING表示的是一顆通過setlocale函數來進行更改的作為字符串處理。當參數的值為SORT_NATURAL表示的是類似 natsort() 的自然排序。

    使用array_multisort函數對字符串進行排序,鍵名為字符串的元素,鍵名會保留,但是鍵名為數字的會被重新索引。這個索引規(guī)則還是一樣的。

    如果排序成功的話,返回的結果是true;如果排序失敗,返回的結果是false。

    下面我們通過示例來看一下array_multisort函數的基本用法,示例如下:

    <?php $a1=array("Dog","Cat"); $a2=array("Fw","Marry"); array_multisort($a1,$a2); print_r($a1); echo '<br/>'; print_r($a2); ?>

    輸出結果:

    怎樣解決PHP中數組的排序和打亂問題?

    上述示例中,返回的結果是進行了升序的排序,下面我們來看一下,當兩個值相同的時候,輸出結果會有什么變化,示例如下:

    <?php $a1=array("Dog","Dog","Cat"); $a2=array("Pluto","Fw","Marry"); array_multisort($a1,$a2); print_r($a1); echo '<br/>'; print_r($a2); ?>

    輸出結果:

    怎樣解決PHP中數組的排序和打亂問題?

    上述示例中,當數組中的兩個元素都相同的時候,并不會被覆蓋,而是鍵名不同重新排序。

    下面我們在來看一個綜合的實例,當我們合并兩個數組并且按照降序進行排列,輸出結果會發(fā)生什么變化,示例如下:

    <?php $a1=array(1,30,15,7,25); $a2=array(4,30,20,41,66); $num=array_merge($a1,$a2); array_multisort($num,SORT_DESC,SORT_NUMERIC); print_r($num); ?>

    輸出結果:

    怎樣解決PHP中數組的排序和打亂問題?

    上述中我們通過array_multisort函數能夠對數組元素進行排序,下面我們來介紹一下shuffle函數。它能夠將數組打亂。

    shuffle函數-重新排序數組

    在PHP中既然有函數能夠將數組元素進行有序的排序,那同樣的也有辦法能夠將數組進行重新排序,也就是將數組打亂。shuffle函數的基本語法結構如下:

    shuffle(array)

    其中參數array就是需要進行重新排序的數組,shuffle() 函數把數組中的元素按隨機順序重新排列。數組中原來的鍵名會被刪除,新的數組會有新的鍵名。

    函數如果排序成功,返回的結果是true,如果失敗,返回的結果是flase。

    下面我們通過示例來看一下shuffle函數的使用,示例如下:

    <?php $my_array = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"purple"); shuffle($my_array); print_r($my_array); ?>

    輸出結果:

    怎樣解決PHP中數組的排序和打亂問題?

    怎樣解決PHP中數組的排序和打亂問題?

    上述示例中,通過shuffle函數將數組進行重新排列,并且每執(zhí)行一次數組的排列順序就會改變。

    大家如果感興趣的話,可以點擊《PHP視頻教程》進行

    贊(0)
    分享到: 更多 (0)
    網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號