php對(duì)數(shù)組內(nèi)元素進(jìn)行隨機(jī)調(diào)換的方法
本文實(shí)例講述了php對(duì)數(shù)組內(nèi)元素進(jìn)行隨機(jī)調(diào)換的方法。分享給大家供大家參考。具體分析如下:
這是一個(gè)自定義的php數(shù)組元素隨機(jī)調(diào)換的函數(shù),php已經(jīng)有一個(gè)內(nèi)置的同樣功能的函數(shù)shuffle($Array),這個(gè)代碼權(quán)當(dāng)參考
// 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
*/
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
- php數(shù)組函數(shù)序列 之shuffle()和array_rand() 隨機(jī)函數(shù)使用介紹
- php使用array_rand()函數(shù)從數(shù)組中隨機(jī)選擇一個(gè)或多個(gè)元素
- php 利用array_slice函數(shù)獲取隨機(jī)數(shù)組或前幾條數(shù)據(jù)
- php中通過數(shù)組進(jìn)行高效隨機(jī)抽取指定條記錄的算法
- php生成不重復(fù)隨機(jī)數(shù)、數(shù)組的4種方法分享
- php獲取隨機(jī)數(shù)組列表的方法
- php數(shù)組隨機(jī)排序?qū)崿F(xiàn)方法
- php將字符串隨機(jī)分割成不同長度數(shù)組的方法
- php 數(shù)組隨機(jī)取值的簡單實(shí)例
- php 從一個(gè)數(shù)組中隨機(jī)的取出若干個(gè)不同的數(shù)實(shí)例
相關(guān)文章
php采用session實(shí)現(xiàn)防止頁面重復(fù)刷新
這篇文章主要介紹了php采用session實(shí)現(xiàn)防止頁面重復(fù)刷新的代碼及使用方法,需要的朋友可以參考下2015-12-12
php數(shù)組函數(shù)序列之sort() 對(duì)數(shù)組的元素值進(jìn)行升序排序
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é)合實(shí)例形式分析了使用curl_multi的過程中并發(fā)處理事務(wù)導(dǎo)致cpu占用率過高時(shí)的解決方法,需要的朋友可以參考下2018-08-08
php控制反轉(zhuǎn)與依賴注入的實(shí)現(xiàn)介紹
IOC-Inversion of Control,即控制反轉(zhuǎn)。它不是什么技術(shù),而是一種設(shè)計(jì)思想。這篇文章主要介紹了php控制反轉(zhuǎn)與依賴注入的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09
Android ProgressBar進(jìn)度條和ProgressDialog進(jìn)度框的展示DEMO
本篇文章是對(duì)Android中ProgressBar進(jìn)度條和ProgressDialog進(jìn)度框的展示DEMO進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
PHP使用Curl實(shí)現(xiàn)模擬登錄及抓取數(shù)據(jù)功能示例
這篇文章主要介紹了PHP使用Curl實(shí)現(xiàn)模擬登錄及抓取數(shù)據(jù)功能,結(jié)合實(shí)例形式分析了php使用curl進(jìn)行登陸、驗(yàn)證、cookie操作與數(shù)據(jù)抓取等相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04
比較strtr, str_replace和preg_replace三個(gè)函數(shù)的效率
本篇文章是對(duì)strtr, str_replace和preg_replace三個(gè)函數(shù)的效率問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

