首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PHP中使用数组名称中的变量?(变量数组/变量变量?)

如何在PHP中使用数组名称中的变量?(变量数组/变量变量?)
EN

Stack Overflow用户
提问于 2013-05-21 18:37:53
回答 3查看 64关注 0票数 2

我看过其他的问题/答案,但我没有完全理解。此外,我还没有发现一个人在问我的问题。

我有7个数组存储业务的开始和结束时间。我的PHP程序检查当前的一天,并将其与当天的开始结束时间相匹配。所以现在我有7条if语句,类似于这样:

代码语言:javascript
运行
AI代码解释
复制
if (date(l) == 'Sunday') {
   $start = $SundayAccountingHours['start'];
   $end = $SundayAccountingHours['end'];
 }

我要做的是清理代码。所以也许我可以

代码语言:javascript
运行
AI代码解释
复制
$start = ${$today}.AccountingHours['start'];
$end = ${$today}.AccountingHours['end'];

我怎么才能把这事做好?使用上面的示例,我得到了以下内容:Parse :语法错误,在第22行的C:\xampp\htdocs\Dev.php中意外的'[‘,其中定义了第22行为$start。我不能把括号里的东西拿出来,因为这是我真正需要得到的信息。

如果你不知道,我在PHP还是新手,所以任何帮助都会很感激。

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-21 18:40:44

代码语言:javascript
运行
AI代码解释
复制
if (date(l) == 'Sunday') {
   $start = $SundayAccountingHours['start'];
   $end = $SundayAccountingHours['end'];
 }

首先,在'l'周围加上引号。它正在寻找一个名为l的常量,却没有发现它被当作字符串对待。这是非常糟糕的做法(应该发出警告)。

其次,使用多维数组.您不需要尝试使用一周一天作为变量名的一部分。例如,

代码语言:javascript
运行
AI代码解释
复制
$start = $AccountingHours[$today]['start'];

你可能会在路上发现变量,这些变量允许你做一些类似你正在尝试的事情,但我强烈建议你避开它们。我不认为它们有一个实用的应用程序,它们只会造成混乱和错误(https://stackoverflow.com/a/16682648/65387)。

票数 5
EN

Stack Overflow用户

发布于 2013-05-21 18:42:30

如果您必须使用变量名(您确实应该使用多维数组),请尝试如下所示。

代码语言:javascript
运行
AI代码解释
复制
$start = ${$today.'AccountingHours'}['start'];
票数 1
EN

Stack Overflow用户

发布于 2013-05-21 18:42:06

数组元素可以由如下所示的变量引用:

代码语言:javascript
运行
AI代码解释
复制
$myArray[$myVar]

数组还可以包含其他数组,如下所示:

代码语言:javascript
运行
AI代码解释
复制
$myArray = array();
$myArray['a'] = array();
$myArray['a']['b'] = 'foo';
print $myArray['a']['b'];  // prints 'foo'

因此,结合这两个概念,您可以创建一个由变量引用的多维数组:

代码语言:javascript
运行
AI代码解释
复制
$accountingHours = array();
$accountingHours['Sunday'] = array('start' => ..., 'end' => ...);
// ...
$start = $accountingHours[$today]['start'];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16682600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档