php - 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 版本中不会有任何问题/警告。
编辑:在这个例子中,变量键只是硬编码的。理想情况下,它们将是动态的。
解决方案
这取决于您的使用情况,例如,某些框架可能要求您提供一个空array
的而不是null
(而其他框架可能要求相反)。
虽然通常(供您自己使用)$my_array['a']['b'] = array();
不需要做,但我个人仍然建议进行初始化。
考虑以下:
- 你有一些相当大的功能。
- 你把代码留了几个月,以后再读一遍,你想知道数组是否还有其他东西???
- 您将被迫阅读整个函数(如果您没有初始化程序,例如
$my_var['a']['b'] = array()
)。
推荐阅读
- python - python - 进行左合并并得到错误的输出
- flutter - Flutter SQFLITE 转 Future List 可迭代
- unity3d - 如何使 Unity 3d 随机范围游戏对象销毁?
- python - Django 和 Heroku - 在依赖之前应用迁移
- azure-databricks - 如何在不关心分隔符的情况下读取 CSV 文件并使用 Azure Databricks(Python) 创建数据框?
- r - 从 url 将 csv 下载到 R 中不起作用
- c# - 以正确的方式为 HttpClient 链接 HttpMessageHandler
- c++ - C++ wxWidgets显示并生成二维码
- python - 如何在 Pyautocad 中创建尺寸线?
- node.js - 以下情况的 mongoDb 查询是什么?