[英]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.