我能否向一个变量名也是变量的数组中的键添加值?

3
我正在尝试对一家健身房特定时间和日期的课程进行排序。我正在为每个星期创建一个数组(如果不存在),使用当前类别的日期值。所以,我正在循环遍历这些课程,并在foreach循环中使用以下代码: if(empty($$day)) $$day = array(); 现在,例如我有一个名为$Monday的数组。为什么我可以使用以下代码: array_push($$day,$post); 但不能使用 $$day[] = $post;
我在上面的代码中得到了一个空白屏幕。这很重要,因为在执行ksort()之前,理想情况下,我需要获取课程的开始时间并使用以下代码:
$$day[$time] = $post;

这只是 PHP 无法实现的功能吗?

1
白屏通常意味着语法错误。在您的文件开头的 PHP 标签后面添加错误报告,例如 <?php error_reporting(E_ALL); ini_set('display_errors', 1); 然后再编写其余的代码,以查看是否有任何错误信息。 - Funk Forty Niner
1
你尝试过这个吗:${$day}[] = $post - num8er
此外,你应该(可能)编辑一下你的问题,说明你如何使用ksort() - Funk Forty Niner
1个回答

5

试试这个:

${$day}[] = $post;

解释

在PHP中语法上不允许写$$var[] = ...;,这会导致以下错误:

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

当你进行一些深度的PHP操作时,有时需要使用花括号。如在双引号字符串内引用更复杂的结构:"Here come some {$complex['value']}";

请查看手册以获取更多详细信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接