如何使用PHP从Array调用Random Class名称

问题描述 投票:-2回答:3

我正在尝试调用数组中列出的类名。我有下面的代码,但似乎它不起作用。不知道为什么。

<div class="CALL RANDOM CLASSNAME FROM THE ARRAY USING PHP"></DIV>

下面是PHP代码。

<?php
    $rdiv = array("onediv", "twodiv", "threediv", "fourdiv", "fivediv");
    $rand_keys = array_rand($input, 1);
?>
<div class="<?php echo $rdiv[$rand_keys[0]]; ?>">

</div>

任何帮助,将不胜感激。谢谢!

php arrays
3个回答
1
投票

你混合了你的撇号。

<div class="<?php $rdiv = array('onediv', 'twodiv', 'threediv', 'fourdiv', 'fivediv'); $rand_keys = array_rand($rdiv, 1); echo $rdiv[$rand_keys[0]];?>">

</div>

你应该在那里提取一些代码

<?php 
   $rdiv = array('onediv', 'twodiv', 'threediv', 'fourdiv', 'fivediv');
   $rand_keys = array_rand($rdiv, 1); 
?>
<div class="<?php echo $rdiv[$rand_keys[0]]; ?>">

</div>

2
投票

如果您不需要变量中的值,可以快速执行此操作:

<div class='<?= array_rand(array_flip(['onediv', 'twodiv', 'threediv', 'fourdiv', 'fivediv'])) ?>'>

通常,array_rand()返回一个随机密钥,但是为了避免将变量存储在变量中然后从数组中请求该值,我们只需翻转提供的集合,以便字符串是键并随机返回一个。当值是唯一的时,这只是一个选项。


1
投票

你使用错误的输入array_rand();。你打算使用的数组是$rdiv

$rand_keys在这里也是一个整数(不是数组),所以你需要改变你的echo语句。文档说:

当只选择一个条目时,array_rand()返回随机条目的键。 (Source

把它们放在一起:

$rdiv = array("onediv", "twodiv", "threediv", "fourdiv", "fivediv"); 
$rand_keys = array_rand($rdiv, 1); 

echo $rdiv[$rand_keys];
© www.soinside.com 2019 - 2024. All rights reserved.