You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何将变量与随机数拼接后调用对应的预定义变量

你当前的写法只是将字符s和随机数做了字符串拼接,得到的是s1、s2这类普通字符串,不会自动解析为对应的预定义变量值,因此输出不符合预期。

方案1:使用PHP可变变量实现

如果你要保留当前s1到s22的变量定义方式,可以用可变变量语法解析拼接后的变量名,对应代码修改为:

figure:before { 
  content: '<?php 
    $random_num = random_int(1, 22);
    $target_var = 's' . $random_num;
    echo $$target_var;
  ?>'; 
}

这里的$$target_var是PHP的可变变量用法,PHP会先读取$target_var的值(例如s1),再把这个值作为变量名去读取对应变量的内容。

方案2:使用数组存储(更推荐)

这种方式无需单独定义22个s开头的变量,代码可维护性更高,也规避了可变变量的潜在安全风险:
首先把所有变量值整理为数组:

<?php
$platform_config = [
    'var(--vimeo)',
    'var(--youtube)',
    // 剩余20个配置值依次填入数组即可
];
?>

然后CSS部分直接随机读取数组元素:

figure:before { 
  content: '<?php echo $platform_config[array_rand($platform_config)]; ?>'; 
}

如果后续需要新增/删除配置,直接修改$platform_config数组即可,不需要调整随机读取的逻辑。

注意:CSS的content属性的字符串值需要用引号包裹,因此上面的代码里把PHP输出的内容放在了单引号中间,避免CSS解析报错。

内容的提问来源于stack exchange,提问作者God of all wars

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 14:30:03