array_rand函數使用技巧,PHP

關於array_rand函數,在文檔中的說明是這樣的:
php

array_rand() 函數從數組中隨機選出一個或多個元素,並返回。數組

第二個參數用來肯定要選出幾個元素。若是選出的元素不止一個,則返回包含隨機鍵名的數組,不然返回該元素的鍵名。函數


常規用法,好比咱們從一個數組裏面隨機輸出一些元素:spa

$arr = array('a'=>'Dog','b'=>'Cat','c'=>'Horse');
$num = rand(1,3);
$keys = array_rand($arr, $num);
foreach($keys as $k){
    echo $arr[$k];
}

這裏要輸出的元素數使用的是隨機的1到3,如裏$num=1時,這段代碼將會出現錯誤,由於$num=1時array_rand返回的特麼居然是字符串!code

解決方法:orm

除了使用is_string或is_array等方式作做判斷處理之外,無疑咱們都更喜歡簡便的方法:ci

$keys = (array) array_rand($arr, $num);

這樣當array_rand返回單個鍵名字符串時,就能強制轉換爲數組(0=>'鍵名') 了。文檔

相關文章
相關標籤/搜索