php對數(shù)組內(nèi)元素進行隨機調(diào)換的方法
本文實例講述了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采用session實現(xiàn)防止頁面重復(fù)刷新
這篇文章主要介紹了php采用session實現(xiàn)防止頁面重復(fù)刷新的代碼及使用方法,需要的朋友可以參考下2015-12-12
php數(shù)組函數(shù)序列之sort() 對數(shù)組的元素值進行升序排序
sort() 函數(shù)按升序?qū)o定數(shù)組的值排序。注釋:本函數(shù)為數(shù)組中的單元賦予新的鍵名。原有的鍵名將被刪除2011-11-11
PHP使用curl_multi_select解決curl_multi網(wǎng)頁假死問題的方法
這篇文章主要介紹了PHP使用curl_multi_select解決curl_multi網(wǎng)頁假死問題的方法,結(jié)合實例形式分析了使用curl_multi的過程中并發(fā)處理事務(wù)導致cpu占用率過高時的解決方法,需要的朋友可以參考下2018-08-08
php控制反轉(zhuǎn)與依賴注入的實現(xiàn)介紹
IOC-Inversion of Control,即控制反轉(zhuǎn)。它不是什么技術(shù),而是一種設(shè)計思想。這篇文章主要介紹了php控制反轉(zhuǎn)與依賴注入的實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-09-09
Android ProgressBar進度條和ProgressDialog進度框的展示DEMO
本篇文章是對Android中ProgressBar進度條和ProgressDialog進度框的展示DEMO進行了詳細的分析介紹,需要的朋友參考下2013-06-06
PHP使用Curl實現(xiàn)模擬登錄及抓取數(shù)據(jù)功能示例
這篇文章主要介紹了PHP使用Curl實現(xiàn)模擬登錄及抓取數(shù)據(jù)功能,結(jié)合實例形式分析了php使用curl進行登陸、驗證、cookie操作與數(shù)據(jù)抓取等相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2018-04-04
比較strtr, str_replace和preg_replace三個函數(shù)的效率
本篇文章是對strtr, str_replace和preg_replace三個函數(shù)的效率問題進行了詳細的分析介紹,需要的朋友參考下2013-06-06

