php對數(shù)組內(nèi)元素進行隨機調(diào)換的方法
更新時間:2015年05月12日 09:13:38 作者:企鵝不笨
這篇文章主要介紹了php對數(shù)組內(nèi)元素進行隨機調(diào)換的方法,通過自定義函數(shù)實現(xiàn)對數(shù)組內(nèi)元素進行隨機調(diào)換的功能,涉及php操作數(shù)組的相關(guān)技巧,需要的朋友可以參考下
本文實例講述了php對數(shù)組內(nèi)元素進行隨機調(diào)換的方法。分享給大家供大家參考。具體分析如下:
這是一個自定義的php數(shù)組元素隨機調(diào)換的函數(shù),php已經(jīng)有一個內(nèi)置的同樣功能的函數(shù)shuffle($Array),這個代碼權(quán)當參考
// I noticed that there is already a built-in function that
// does the same - so don't use mine ;-)
//
// --> shuffle($Array);
//
// http://de2.php.net/manual/de/function.shuffle.php
//
function RandomizeArray($array){
// error check:
$array = (!is_array($array)) ? array($array) : $array;
$a = array();
$max = count($array) + 10;
while(count($array) > 0){
$e = array_shift($array);
$r = rand(0, $max);
// find a empty key:
while (isset($a[$r])){
$r = rand(0, $max);
}
$a[$r] = $e;
}
ksort($a);
$a = array_values($a);
return $a;
}
使用范例:
/*
** Example:
*/
$test_array = array('why','dont','visit','www','jonas','john','de',':-)');
print implode(", ", $test_array);
print "\n";
print implode(", ", RandomizeArray($test_array));
/*
Example output:
why, dont, visit, www, jonas, john, de, :-)
www, de, jonas, john, visit, why, :-), dont
*/
希望本文所述對大家的php程序設(shè)計有所幫助。
您可能感興趣的文章:
- php數(shù)組函數(shù)序列 之shuffle()和array_rand() 隨機函數(shù)使用介紹
- php使用array_rand()函數(shù)從數(shù)組中隨機選擇一個或多個元素
- php 利用array_slice函數(shù)獲取隨機數(shù)組或前幾條數(shù)據(jù)
- php中通過數(shù)組進行高效隨機抽取指定條記錄的算法
- php生成不重復(fù)隨機數(shù)、數(shù)組的4種方法分享
- php獲取隨機數(shù)組列表的方法
- php數(shù)組隨機排序?qū)崿F(xiàn)方法
- php將字符串隨機分割成不同長度數(shù)組的方法
- php 數(shù)組隨機取值的簡單實例
- php 從一個數(shù)組中隨機的取出若干個不同的數(shù)實例
相關(guān)文章
PHP使用HTML5 FileApi實現(xiàn)Ajax上傳文件功能示例
這篇文章主要介紹了PHP使用HTML5 FileApi實現(xiàn)Ajax上傳文件功能,結(jié)合實例形式分析了HTML5 FileApi的功能、原理及php使用HTML5 FileApi實現(xiàn)ajax上傳的相關(guān)操作技巧,需要的朋友可以參考下2019-07-07
thinkphp5使用bootstrapvalidator進行異步驗證郵箱的示例
這篇文章主要介紹了thinkphp5使用bootstrapvalidator進行異步驗證郵箱的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
PHP header()函數(shù)常用方法總結(jié)
這篇文章主要介紹了PHP header()函數(shù)常用方法.總結(jié)了常見的用法,需要的朋友可以參考下2014-04-04

