簡體   English   中英

將array_rand函數與多維數組一起使用

[英]Use of array_rand function with multidimensional array

在這個帖子中,Pudge601非常善於為我的問題提供解決方案: Php / MySQL隨機數據(音高)序列

通過將靜態值替換為隨機值,我弄清楚while循環是如何工作的。 但是,我仍然試圖理解這一行:

$dist = $dists[$index][array_rand($dists[$index])];

當我替換時我能理解它(例如)

$dist = $dists[$index][0]

它從一個嵌套數組中檢索第一個數組值。 但是,我不知道這部分是怎么回事:

[array_rand($dists[$index])];

產生一個所需的值。

它似乎與這里的描述不對應: http//php.net/manual/en/function.array-rand.php在此上下文中使用多維數組時,語法可能不同? 無論如何,我只是沒有得到它。 如果有人可以幫我翻譯成“英語”,我會感激不盡!

代碼應該被理解為:

$arr = $dists[$index]; // select array from $dists element at index $index
$key = array_rand($arr); // get key of a random element
$dist = $arr[$key]; // get element value

文檔

如果只選擇一個條目, array_rand()將返回隨機條目的鍵。

后來在這個討論中解決了同樣的問題: http//www.codingforums.com/showthread.php? t = 296450

答案: $dist = $dists[$index][array_rand($dists[$index])]; ,第一次使用$dists[$index]將結果本地化為第一個嵌套數組之一,第二個使用確保它是array_rand函數從中拾取的相同數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM