簡體   English   中英

PHP-如何從數組中隨機獲取內容

[英]PHP - how to randomly get something from array

我如何從數組中隨機獲取某些內容,例如我有一個數組,我想隨機地抓取其中的一行,如何使用PHP做到這一點?

 $quizes = array(
        '3-1' => '2',
        '4+4' => '8',
        '7-5' => '2',
        '4+2' => '6',
        '9-3' => '6',
        '1+2' => '3',
        '9+9' => '18',
        '3+2' => '5',
        '2*3' => '6',
        '5*3' => '15',
        '6+6' => '12',
        '3+4' => '7',
        '7-4' => '3',
        '6+2' => '8',
        '3*2' => '6',
        '7+6' => '13',
        '1+1' => '2',
        '4*4' => '16',
        '10-3' => '7'
    );

我嘗試過的

$rand_keys = array_rand($quizes, 2);
echo $quizes[$rand_keys[0]] . "\n";
echo $quizes[$rand_keys[1]] . "\n";

但這只會返回2、15、2、3 2等結果

請幫忙謝謝

您可以隨機化數組順序並獲取第一個元素。 代碼如下所示:

shuffle($quizes);

好吧,您正在確切地得到所要的-屬於隨機選擇的鍵的值。 要獲取key => value對,請執行:

echo $rand_keys[0] . " => " . $quizes[$rand_keys[0]] . "\n";

當然,您可以隨意格式化輸出。

您的代碼中的每個“行”實際上都是兩部分:一個鍵及其對應的值。 例如,在第一行中,鍵'3-1'是鍵,值'2' =>運算符指示此關系。

您使用的array_rand函數將從數組中返回一個隨機鍵(或鍵集,如果您指定了第二個參數)。

$key = array_rand($quizes);    // returns a random key e.g. '3-1'

然后,您可以使用該鍵獲取相應的值,

$value = $quizes[$key];        // returns the value that matches $key

從那時起,有多種方法可以輸出它們。 如果您希望它看起來像代碼中的樣子,則可以使用

echo "$key => $value";

暫無
暫無

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

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