首頁 >後端開發 >php教程 >PHP數組隨機亂序和反序的實例詳解

PHP數組隨機亂序和反序的實例詳解

黄舟
黄舟原創
2017-05-04 11:38:5510137瀏覽

PHP陣列隨機亂序與反序

在前兩篇文章《如何對PHP陣列進行排序》和《 PHP數組的倒序》中介紹了兩組函數,一組升序,一組倒序(降序),今天我們這篇文章跟大家介紹數組的隨機亂序和反序!

一. 什麼是隨機亂序? (shuffle)

shuffle 是 打亂陣列。

使用shuffle函數可以對陣列中的元素進行隨機的排序。

shuffle語法結構如下:

bool shuffle ( array &$array )
#參數 描述

##arrayPHP數組隨機亂序和反序的實例詳解

必要。規定要適應的數組。

本函數打亂(隨機排列單元的順序)一個陣列。 它使用的是偽隨機數產生器,並不適合密碼學的場合。

shuffle實例用法:#下面我們舉例來詳解shuffle函數,具體程式碼如下:

<?php
header("Content-Type:text/html; charset=utf-8");
$arr=array("name" => "PHP中文网", "url" => "www.php.cn", "tom" => "100","hank" => "60");
shuffle($arr); // 将数组的值随机排序
print_r($arr);
?>

輸出結果為:

#上面實例每次刷新瀏覽器輸出的結果都不一樣,這裡就不多截圖了,大家可以再本地試試!

說明:關聯陣列被shuffle後,鍵會遺失,從上面的實例大家應該也能看的出來!

二. 什麼是反序? (array_reverse)

array_reverse — 返回單元順序相反的數組,反序是將一個原始的數組中的每個元素的順序翻轉,

array_reverse語法格式如下:

array array_reverse ( array $array [, bool $preserve_keys = false ] )
array_reverse() 接受數組 array 作為輸入並傳回一個單元為相反順序的新數組,如果preserve_keys 為 TRUE 則保留原來的鍵名。

說明:

1.反序≠ 降序

##2.如果數組是關聯數組

鍵為字元時反序不受影響,鍵仍然會保留

PHP數組隨機亂序和反序的實例詳解

鍵是數字時,反序後預設鍵會重設為0、1、2…

#第二個參數為true時,鍵為數字,反序保留數字鍵

PHP數組隨機亂序和反序的實例詳解下面我們看下

鍵是數字時

的範例程式碼:

<?php
header("Content-Type:text/html; charset=utf-8");
$arr=array("100" => "PHP中文网", "200" => "www.php.cn", "300" => "百度","400" => "搜狗");
$array = array_reverse($arr);//数组反序,将数组的元素反转
print_r($arr);
echo "<br>";
print_r($array);
?>
輸出結果為:

是數字時保留鍵值

範例程式碼:

<?php
header("Content-Type:text/html; charset=utf-8");
$arr=array("100" => "PHP中文网", "200" => "www.php.cn", "300" => "百度","400" => "搜狗");
$array = array_reverse($arr,true);//数组反序,将数组的元素反转
print_r($arr);
echo "<br>";
print_r($array);
?>
PHP數組隨機亂序和反序的實例詳解輸出的結果為:

#從上面程式碼可以看出鍵是數字時保留鍵值

,就是array_reverse的第二個參數是true!

鍵是鍵為字元時

範例程式碼:

<?php
header("Content-Type:text/html; charset=utf-8");
$arr=array("name" => "PHP中文网", "ID" => "www.php.cn", "name1" => "百度","name2" => "搜狗");
$array = array_reverse($arr);//数组反序,将数组的元素反转
print_r($arr);
echo "<br>";
print_r($array);
?>

輸出結果為:
  1. #array_reverse函數進行數組反轉時,鍵值為字串時,鍵值會保留!

    注意:使用array_reverse函數時原始數組不受影響,會return一個新數組!
  2. 本篇文章我們介紹了數組的反序以及亂序,下一篇文章我們將介紹數組的等分,替換以及截取,詳細介紹請閱讀《PHP數組的截取,等分以及替換部分數組》! 【相關教學推薦】

相關專題推薦:《

php陣列(Array)######》#### ########相關影片課程推薦: 《######其它陣列函數:array_rand()/array_sum()/shuffle()/range()#####》#### ##############

以上是PHP數組隨機亂序和反序的實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn