PHP - 变量的泛型变量变量名


PHP - generic variable variable name of a variable

我对php很陌生,我遇到了一个问题。我有一个带有星期几调用的数组

$days = array( 'monday', 'tuesday', 'wednesday', 'thurday', 'frieday', 'sunday',  'saturday' );

还有一个一周中一整天的for loop index i=0 i<7 i++,所以我不需要重复代码 7 次(每天 1 次)我每天都有开放,关闭,小时和很多信息..

所以我的某个部分我循环我需要将一个值作为一个名为的通用变量:$ini_XXXXX_close,其中XXX是星期几,所以一般来说($ini_$dias[$i]_close)

当我尝试做时:$ini_$dias[$i]_close=0;我得到了错误...所以我所做的是使用第三个变量。

$indexcloseini="ini_$dias[$i]_close";

然后$$indexcloseini=0 成功生成变量 $ini_XXXXX_close=0;( doble $$ 从 PHP 手册中阅读)

但问题是当我后来尝试将该变量与 IF 句子中的任何其他值进行比较时。编译的唯一方法是已经使用中间变量。

有没有其他简单的方法可以做到这一点..我阅读了 php 参考手册并尝试使用 {!} 和很多东西,但无法让它工作。

是否有任何函数可以将这个" $ini_$dias[$i]_close"转换为字符串,以便我可以制作

$*STRING CONVERSION FUNCTION of $ini_$dias[$i]_close* 

创建由许多变量值组成的变量?

就我个人而言,我不会走这条路。它很复杂,令人困惑,几乎不是一个有用的解决方案。您是否考虑过使用嵌套数组来存储值?甚至创建一个对象?

作为一个数组,您可以有:

$ini = array('monday'=>array(), 'tuesday'=>array(), //etc);
$ini[$day]['closeStatus'] = 0;