首页 > 解决方案 > PHP - 创建多维数组的最佳实践

问题描述

我正在创建一个如下所示的多维数组。

$my_array = array();

$a = 'foo';
$b = 'bar';
$c = 'baz';

$my_array[$a][$b][$c] = 'hello world';

这是创建多维数组的最佳实践吗?我们是否需要为每个级别初始化一个空数组,然后插入一个如下所示的键?

$my_array = array();

$a = 'foo';
$b = 'bar';
$c = 'baz';

$my_array[$a] = array();
$my_array[$a][$b] = array();
$my_array[$a][$b][$c] = 'hello world';

第一个实现工作正常。我只是想知道这是否是正确的做法,并且在旧的 PHP 版本中不会有任何问题/警告。

编辑:在这个例子中,变量键只是硬编码的。理想情况下,它们将是动态的。

标签: phparraysmultidimensional-array

解决方案


这取决于您的使用情况,例如,某些框架可能要求您提供一个空array的而不是null(而其他框架可能要求相反)。

虽然通常(供您自己使用)$my_array['a']['b'] = array();不需要做,但我个人仍然建议进行初始化。

考虑以下:

  1. 你有一些相当大的功能。
  2. 你把代码留了几个月,以后再读一遍,你想知道数组是否还有其他东西???
  3. 您将被迫阅读整个函数(如果您没有初始化程序,例如$my_var['a']['b'] = array())。

推荐阅读