導航:首頁 > 編程語言 > 打亂數組順序php

打亂數組順序php

發布時間:2024-11-11 03:55:23

php shuffle()例子

在PHP中,`shuffle()` 函數是一個非常實用的工具,它用於隨機打亂數組中的元素順序。下面是一個簡單的例子來說明它的使用方法:

php
<?php
// 假設我們有一個包含動物名稱的關聯數組
$my_array = array(
"a" => "Dog",
"b" => "Cat",
"c" => "Horse"
);

// 使用shuffle()函數隨機打亂數組的順序
shuffle($my_array);

// 輸出處理後的數組
print_r($my_array);
?>

當你運行這段代碼後,輸出的結果將會是數組中元素的隨機排列,例如:

Array
(
[0] => Horse
[1] => Cat
[2] => Dog
)

這樣,每次運行這段代碼,數組中的元素順序都會有所不同,實現了隨機化的效果。這對於需要隨機元素顯示或者數據隨機排序的場景非常有用。

㈡ php 常用的數組函數都有哪些 作用是什麼有什麼特點 怎麼使用

php常用的數組函數的作用特點如下:


  1. array_change_key_case -- 返回字元串鍵名全為小寫或大寫的數組

  2. array_chunk -- 將一個數組分割成多個

  3. array_combine -- 創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值

  4. array_count_values -- 統計數組中所有的值出現的次數

  5. array_diff_assoc -- 帶索引檢查計算數組的差集

  6. array_diff_key -- 使用鍵名比較計算數組的差集

  7. array_diff_uassoc -- 用用戶提供的回調函數做索引檢查來計算數組的差集

  8. array_diff_ukey -- 用回調函數對鍵名比較計算數組的差集

  9. array_diff -- 計算數組的差集

  10. array_fill_keys -- 使用指定的鍵和值填充數組

  11. array_fill -- 用給定的值填充數組

  12. array_filter -- 用回調函數過濾數組中的單元

  13. array_flip -- 交換數組中的鍵和值

  14. array_intersect_assoc -- 帶索引檢查計算數組的交集

  15. array_intersect_key -- 使用鍵名比較計算數組的交集

  16. array_intersect_uassoc -- 帶索引檢查計算數組的交集,用回調函數比較索引

  17. array_intersect_ukey -- 用回調函數比較鍵名來計算數組的交集

  18. array_intersect -- 計算數組的交集

  19. array_key_exists -- 檢查給定的鍵名或索引是否存在於數組中

  20. array_keys -- 返回數組中所有的鍵名

  21. array_map -- 將回調函數作用到給定數組的單元上

  22. array_merge_recursive -- 遞歸地合並一個或多個數組

  23. array_merge -- 合並一個或多個數組

  24. array_multisort -- 對多個數組或多維數組進行排序

  25. array_pad -- 用值將數組填補到指定長度

  26. array_pop -- 將數組最後一個單元彈出(出棧)

  27. array_proct -- 計算數組中所有值的乘積

  28. array_push -- 將一個或多個單元壓入數組的末尾(入棧)

  29. array_rand -- 從數組中隨機取出一個或多個單元

  30. array_rece -- 用回調函數迭代地將數組簡化為單一的值

  31. array_replace_recursive -- 使用傳遞的數組遞歸替換第一個數組的元素

  32. array_replace -- 使用傳遞的數組替換第一個數組的元素

  33. array_reverse -- 返回一個單元順序相反的數組

  34. array_search -- 在數組中搜索給定的值,如果成功則返回相應的鍵名

  35. array_shift -- 將數組開頭的單元移出數組

  36. array_slice -- 從數組中取出一段

  37. array_splice -- 把數組中的一部分去掉並用其它值取代

  38. array_sum -- 計算數組中所有值的和

  39. array_udiff_assoc -- 帶索引檢查計算數組的差集,用回調函數比較數據

  40. array_udiff_uassoc -- 帶索引檢查計算數組的差集,用回調函數比較數據和索引

  41. array_udiff -- 用回調函數比較數據來計算數組的差集

  42. array_uintersect_assoc -- 帶索引檢查計算數組的交集,用回調函數比較數據

  43. array_uintersect_uassoc -- 帶索引檢查計算數組的交集,用回調函數比較數據和索引

  44. array_uintersect -- 計算數組的交集,用回調函數比較數據

  45. array_unique -- 移除數組中重復的值

  46. array_unshift -- 在數組開頭插入一個或多個單元

  47. array_values -- 返回數組中所有的值

  48. array_walk_recursive -- 對數組中的每個成員遞歸地應用用戶函數

  49. array_walk -- 對數組中的每個成員應用用戶函數

  50. array -- 新建一個數組

  51. arsort -- 對數組進行逆向排序並保持索引關系

  52. asort -- 對數組進行排序並保持索引關系

  53. compact -- 建立一個數組,包括變數名和它們的值

  54. count -- 計算數組中的單元數目或對象中的屬性個數

  55. current -- 返回數組中的當前單元

  56. each -- 返回數組中當前的鍵/值對並將數組指針向前移動一步

  57. end -- 將數組的內部指針指向最後一個單元

  58. extract -- 從數組中將變數導入到當前的符號表

  59. in_array -- 檢查數組中是否存在某個值

  60. key -- 從關聯數組中取得鍵名

  61. krsort -- 對數組按照鍵名逆向排序

  62. ksort -- 對數組按照鍵名排序

  63. list -- 把數組中的值賦給一些變數

  64. natcasesort -- 用「自然排序」演算法對數組進行不區分大小寫字母的排序

  65. natsort -- 用「自然排序」演算法對數組排序

  66. next -- 將數組中的內部指針向前移動一位

  67. pos -- current 的別名

  68. prev -- 將數組的內部指針倒回一位

  69. range -- 建立一個包含指定范圍單元的數組

  70. reset -- 將數組的內部指針指向第一個單元

  71. rsort -- 對數組逆向排序

  72. shuffle -- 將數組打亂

  73. sizeof -- count 的別名

  74. sort -- 對數組排序

  75. uasort -- 使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯

  76. uksort -- 使用用戶自定義的比較函數對數組中的鍵名進行排序

  77. usort -- 使用用戶自定義的比較函數對數組中的值進行排序


關於如何使用,那是要根據使用者需求來衡量,不能一言概括

使用語法如下:

<?php
$arr=array('Hello','World!');
$arr=implode(',',$arr);

echo$arr;
?>

結果是:HelloWorld!


如果你想更多的了解php的數組函數,我建議你詳細地去看看php手冊

php手冊官網:http://www.php.net/manual/zh/index.php

㈢ 如何使用php生成唯一ID的4種方法

方法1

<?php
$numbers=range(1,50);
//shuffle將數組順序隨即打亂
shuffle($numbers);
//array_slice取該數組中的某一段
$num=6;
$result=array_slice($numbers,0,$num);
print_r($result);
?>

方法二

<?php
$numbers=range(1,20);
//播下隨機數發生器種子,可有可無,測試後對結果沒有影響
srand((float)microtime()*1000000);
shuffle($numbers);
//跳過list第一個值(保存的是索引)
while(list(,$number)=each($numbers)){
echo"$number";
}
?>

方法三

<?php
functionNoRand($begin=0,$end=20,$limit=5){
$rand_array=range($begin,$end);
shuffle($rand_array);//調用現成的數組隨機排列函數
returnarray_slice($rand_array,0,$limit);//截取前$limit個
}
print_r(NoRand());
?>

方法四

<?php
$tmp=array();
while(count($tmp)<5){
$tmp[]=mt_rand(1,20);
$tmp=array_unique($tmp);
}
print_r($tmp);
?>

方法五

<?php
$tmp=range(1,30);
print_r(array_rand($tmp,10));
?>

都在這咯,希望可以幫到你

㈣ 幫忙解釋一行PHP代碼,是關於shuffle和foreach函數的。

1、shuffle函數的作用是打亂數組順序
2、foreach沒有條件,只是循環輸出而已。

㈤ PHP處理數組常用的幾個函數

一、數組操作的基本函數
數組的鍵名和值
array_values($arr); 獲得數組的值
array_keys($arr); 獲得數組的鍵名
array_flip($arr); 數組中的值與鍵名互換(如果有重復前面的會被後面的覆蓋)
in_array("apple",$arr); 在數組中檢索apple
array_search("apple",$arr); 在數組中檢索apple ,如果存在返回鍵名
array_key_exists("apple",$arr); 檢索給定的鍵名是否存在數組中
isset($arr[apple]): 檢索給定的鍵名是否存在數組中
數組的內部指針
current($arr); 返回數組中的當前單元
pos($arr); 返回數組中的當前單元
key($arr); 返回數組中當前單元的鍵名
prev($arr); 將數組中的內部指針倒回一位
next($arr); 將數組中的內部指針向前移動一位
end($arr); 將數組中的內部指針指向最後一個單元
reset($arr; 將數組中的內部指針指向第一個單元
each($arr); 將返回數組當前元素的一個鍵名/值的構造數組,並使數組指針向前移動一位
list($key,$value)=each($arr); 獲得數組當前元素的鍵名和值
數組和變數之間的轉換
extract($arr);用於把數組中的元素轉換成變數導入到當前文件中,鍵名當作變數名,值作為變數值
註:(第二個參數很重要,可以看手冊使用)使用方法 echo $a;
compact(var1,var2,var3);用給定的變數名創建一個數組
二、數組的分段和填充
數組的分段
array_slice($arr,0,3); 可以將數組中的一段取出,此函數忽略鍵名
array_splice($arr,0,3,array("black","maroon")); 可以將數組中的一段取出,與上個函數不同在於返回的序列從原數組中刪除
分割多個數組
array_chunk($arr,3,TRUE); 可以將一個數組分割成多個,TRUE為保留原數組的鍵名
數組的填充
array_pad($arr,5,'x'); 將一個數組填補到制定長度
三、數組與棧
array_push($arr,"apple","pear"); 將一個或多個元素壓入數組棧的末尾(入棧),返回入棧元素的個數
array_pop($arr); 將數組棧的最後一個元素彈出(出棧)
四、數組與列隊
array_shift($arr);數組中的第一個元素移出並作為結果返回(數組長度減1,其他元素向前移動一位,數字鍵名改為從零技術,文字鍵名不變)
array_unshift($arr,"a",array(1,2));在數組的開頭插入一個或多個元素
五、回調函數
array_walk($arr,'function','words'); 使用用戶函數對數組中的每個成員進行處理(第三個參數傳遞給回調函數function)
array_mpa("function",$arr1,$arr2); 可以處理多個數組(當使用兩個或更多數組時,他們的長度應該相同)
array_filter($arr,"function"); 使用回調函數過濾數組中的每個元素,如果回調函數為TRUE,數組的當前元素會被包含在返回的結果數組中,數組的鍵名保留不變
array_rece($arr,"function","*"); 轉化為單值函數(*為數組的第一個值)
六、數組的排序
通過元素值對數組排序
sort($arr); 由小到大的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序
rsort($arr); 由大到小的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序
usort($arr,"function"); 使用用戶自定義的比較函數對數組中的值進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)忽略鍵名的數組排序
asort($arr); 由小到大的順序排序(第二個參數為按什麼方式排序)保留鍵名的數組排序
arsort($arr); 由大到小的順序排序(第二個參數為按什麼方式排序)保留鍵名的數組排序
uasort($arr,"function"); 使用用戶自定義的比較函數對數組中的值進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)保留鍵名的數組排序
通過鍵名對數組排序
ksort($arr); 按照鍵名正序排序
krsort($arr); 按照鍵名逆序排序
uksort($arr,"function"); 使用用戶自定義的比較函數對數組中的鍵名進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)
自然排序法排序
natsort($arr); 自然排序(忽略鍵名)
natcasesort($arr); 自然排序(忽略大小寫,忽略鍵名)
七、數組的計算
數組元素的求和
array_sum($arr); 對數組內部的所有元素做求和運算
數組的合並
array_merge($arr1,$arr2); 合並兩個或多個數組(相同的字元串鍵名,後面的覆蓋前面的,相同的數字鍵名,後面的不會做覆蓋操作,而是附加到後面)
「+」$arr1+$arr2; 對於相同的鍵名只保留後一個
array_merge_recursive($arr1,$arr2); 遞歸合並操作,如果數組中有相同的字元串鍵名,這些值將被合並到一個數組中去。如果一個值本身是一個數組,將按照相應的鍵名把它合並為另一個數組。當數組 具有相同的數組鍵名時,後一個值將不會覆蓋原來的值,而是附加到後面
數組的差集
array_diff($arr1,$arr2); 返回差集結果數組
array_diff_assoc($arr1,$arr2,$arr3); 返回差集結果數組,鍵名也做比較
數組的交集
array_intersect($arr1,$arr2); 返回交集結果數組
array_intersect_assoc($arr1,$arr2); 返回交集結果數組,鍵名也做比較
八、其他的數組函數
range(0,12); 創建一個包含指定范圍單元的數組
array_unique($arr); 移除數組中重復的值,新的數組中會保留原始的鍵名
array_reverse($arr,TRUE); 返回一個單元順序與原數組相反的數組,如果第二個參數為TRUE保留原來的鍵名
//srand((float)microtime()*10000000); 隨機種子觸發器
array_rand($arr,2); 從數組中隨機取出一個或 多個元素
shuffle($arr); 將數組的順序打亂
求課吧有很多關於PHP編程方面的教程

閱讀全文

與打亂數組順序php相關的資料

熱點內容
命令行讀文件 瀏覽:350
phpjson轉多維數組 瀏覽:910
linuxboot修復 瀏覽:843
程序在線編譯系統的設計與實現 瀏覽:722
電腦c盤記錄存在哪個文件夾 瀏覽:155
演算法分析與設計替換方法 瀏覽:850
老程序員丟失手機 瀏覽:272
新世紀日本語pdf 瀏覽:85
基於單片機的數字示波器 瀏覽:36
登qq伺服器連接中什麼意思 瀏覽:436
表格宏命令 瀏覽:994
肯德基app設定在哪裡 瀏覽:472
蘋果電腦文件夾怎麼添加列印機 瀏覽:701
pythonswagger 瀏覽:235
作業打卡解壓素材 瀏覽:159
pdf導入ibooks 瀏覽:577
xps文件轉pdf 瀏覽:134
怎麼樣獲得命令方塊 瀏覽:899
安卓studio如何改主題 瀏覽:933
linux自動獲取ip命令行 瀏覽:208