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

时间:2018-03-04 11:59:07

标签: php arrays

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

<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>

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

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

您使用<?php declare(strict_types=1); namespace App\Models; use Illuminate\Database\Eloquent\Model; use Akmeh\Uuid; /** * Class Location * @package Domain\Models */ class Location extends Model { use Uuid; /** * Indicates if the IDs are auto-incrementing. * * @var bool */ public $incrementing = false; public $timestamps = false; /** * @param string $id * @param array $tree * @return array */ public static function getTree(string $id, array $tree = []): array { $lowestLevel = Location::where('id', $id)->first(); if (!$lowestLevel) { return $tree; } $tree[] = $lowestLevel->toArray(); if ($lowestLevel->parent_id !== 0) { $tree = Location::getTree($lowestLevel->parent_id, $tree); } return $tree; } } 的错误输入。您打算使用的数组是array_rand();

$rdiv也是一个整数(不是数组),因此您需要更改$rand_keys语句。文档说:

  

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

全部放在一起:

echo

答案 2 :(得分: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>