【发布时间】:2015-07-31 22:16:26
【问题描述】:
我正在尝试显示块列表中的文本块。
我认为数组最有意义...
$quotes[] = array(
'block' => 'Luck is what happens when preparation meets Opportunity.',
'author' => 'Seneca',
);
$quotes[] = array(
'block' => 'Quote number two.',
'author' => 'Author Two',
);
$quotes[] = array(
'block' => 'Quote number three.',
'author' => 'Author Three',
);
现在,如果我想列出引号,我会这样做:
foreach($quotes[] as $quote) {
echo '<div><p>"<i>' . $quote['block'] . '</i>"<br />― ' . $quote['author'] . '</p></div>';
}
但我该如何随机列出其中一个引号呢?
我环顾四周,有些人在使用while loops?
最终目标是,无论我将这段代码放在哪里,我都希望在我网站的不同部分显示随机引用,因此我不希望每个位置都出现相同的引用。
【问题讨论】:
-
shuffle($quotes);然后只需$displayQuote = array_pop($quotes);并显示那个.... shuffle(), array_pop() -
echo $quotes[array_rand($quotes)]; -
我认为您的意思是他应该将其放入答案中以便您接受。
-
你必须存储随机选择的密钥然后使用它,像这样:
$rand_key=array_rand($quotes); echo $quotes[$rand_key]['block']; echo $quotes[$rand_key]['author'];替代:$picked =$quotes[array_rand($quotes)]; echo $picked['block']; $picked['author'] -
一旦你选择了一个元素,你就有了一个数组,你可以像使用任何其他数组一样使用它。
标签: php foreach while-loop