我有一组短语。我想循环地从数组中随机选择短语。 我不想在循环中多次选择相同的短语。 我想我可以随机选择短语,然后在下一个循环之前将其删除。
<?php
for ($i=0; $i<16; $i++) {
$phrases = array(
'Hello Sailor', 'Acid Test', 'Bear Garden', 'Botch A Job',
'Dark Horse', 'In The Red', 'Man Up', 'Pan Out',
'Quid Pro Quo', 'Rub It In', 'Turncoat', 'Yes Man',
'All Wet', 'Bag Lady', 'Bean Feast', 'Big Wig',
);
$ran_Num = array_rand($phrases);
$ran_Phrase = $phrases[$ran_Num];
unset($phrases[$ran_Phrase]);
echo $ran_Phrase . "\r\n";
echo count($phrases) . "\r\n";
}
是否可以在每个循环中从数组中随机选择不同的短语?
最佳答案
以随机顺序打乱数组,只弹出最后一个元素。
$array = [...];
shuffle($array);
while($element = array_pop($array)){
echo 'Random element:' . $element;
}
关于php - 随机选择数组中的元素然后从数组中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17110740/