我可以在名称也是变量的数组中为变量键添加值吗?

时间:2015-09-04 14:20:15

标签: php arrays

我正在尝试对在某些日子某些时间发生的课程列表(针对健身房)进行排序。我正在使用当前类中当天的值为一周中的每一天创建一个数组(如果它尚不存在)。所以,我循环遍历这些类,并在foreach循环中使用以下代码:

if(empty($$day)) $$day = array();

所以现在我有一个名为$ Monday的数组,例如。我为什么可以使用:

array_push($$day,$post);

但不是

$$day[] = $post;

我得到一个带有上述代码的白色屏幕。这很重要,因为理想情况下我会抓住课程的开始时间,并在执行ksort()之前使用以下代码:

$$day[$time] = $post;

这只是我在PHP中无法做到的事情吗?

1 个答案:

答案 0 :(得分:5)

试试这个:

${$day}[] = $post;

解释

语法上不允许写$$var[] = ...;,它会给你:

  

致命错误:无法使用[]进行阅读

当你做一些深度PHP魔术时,PHP中有时需要那些花括号。在引用双引号字符串中的更复杂结构时也是如此"Here come some {$complex['value']}";

查看manual了解详情。