我试图调用数组中列出的类名。我有下面的代码,但似乎它不起作用。不知道为什么。
<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>
任何帮助将不胜感激。谢谢!
答案 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>