Ken*_*son 2 php arrays variables
我看过其他问题/答案,但我还没有完全理解它.此外,我还没有找到一个问我的确切问题.
我有7个数组存储业务的开始和结束时间.我的PHP程序检查当天,并将其与当天的开始结束时间进行匹配.所以现在我有7个if类似的声明:
if (date(l) == 'Sunday') {
$start = $SundayAccountingHours['start'];
$end = $SundayAccountingHours['end'];
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是清理代码.所以也许我可以拥有类似的东西
$start = ${$today}.AccountingHours['start'];
$end = ${$today}.AccountingHours['end'];
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?使用上面的例子我得到这个:解析错误:语法错误,在第22行的C:\ xampp\htdocs\Dev.php中出现意外的'[',其中第22行是$ start.我无法取出括号中的内容,因为这是我需要的信息.
如果你不能说,我仍然是PHP的新手所以任何帮助将不胜感激.
谢谢!
if (date(l) == 'Sunday') {
$start = $SundayAccountingHours['start'];
$end = $SundayAccountingHours['end'];
}
Run Code Online (Sandbox Code Playgroud)
首先,加上引号'l'.它正在寻找一个常量命名l,并且没有发现它将它视为一个字符串.这是非常糟糕的做法(并应发出警告).
其次,使用多维数组.您不需要尝试使用星期几作为变量名称的一部分.例如,
$start = $AccountingHours[$today]['start'];
Run Code Online (Sandbox Code Playgroud)
您可能会发现变量变量,这些变量允许您执行类似于您尝试的操作,但我强烈建议您避开它们.我不认为它们只有一个实际应用,它们只会造成混乱和错误(咳嗽).