【发布时间】:2021-12-07 13:51:34
【问题描述】:
我可能在 10 年前编写了这些 PHP 脚本,最有可能在 PHP 4 上,但也可能在 3 上。 几年前我在他们身上工作并让他们在 PHP 5 上工作,但现在我的主机已经升级到 PHP 7,我抛出了数百甚至数千个未定义的偏移错误。我的印象是,如果我尝试将一个值加载到未定义的数组中,它将创建索引,但显然不是。所以我的解决方案是简单地创建空数组来避免这种情况。我只是想确定嵌套循环是否是唯一的解决方案。我们是幼儿园,对于我的第一个脚本,我的数组是这样的:
$childs_classroom[classroom][week][day_of_week]
课堂是 0-4、0-260 周和 0-4 周
当我尝试像这样增加一个数组时,它每次都会创建一个未定义的偏移错误(我相信)。除了嵌套循环之外,有没有更简单的方法来创建这个数组并用空值/零填充它,这样我就不会出错?如果这是基本的东西,我很抱歉,我忘记的 PHP 比我记得的 atm 更多。
【问题讨论】:
-
你需要一个可重现的例子,这个
$childs_classroom[1][2][3] = 'test';一直有效。 -
我开始意识到,当我使用 PHP 4 时,不需要初始化或定义变量。在以后的版本中,这似乎成为了一项要求。在缩小错误日志后,我现在看到它首先抛出一个未定义的变量错误,然后似乎每次使用都会抛出未定义的索引错误。所以我想我现在在问,我将如何预先定义这个 $childs_classroom 变量?
-
三个示例前两个有效,第三个无效,因为这些是尚未定义的常量。 3v4l.org/QjCAD你需要提供一个不起作用的例子。
-
谢谢大家。我看到了一些很棒的想法。我正在出门去土耳其和希腊进行为期 3 周的旅行。我回来时会把这个拿回来。
标签: php arrays multidimensional-array