【问题标题】:Is it necessary or useful to initialize sub-arrays in PHP?在 PHP 中初始化子数组是否必要或有用?
【发布时间】:2017-08-28 07:39:03
【问题描述】:

假设我有一个变量,它是一个已初始化的空数组。

$cache = [];

这个数组中的数据可以这样创建,例如(请原谅粗略的代码和变量/键名,他们在这里只是为了这个例子):

for ($row in $someOtherArray) {
    $cache[$row['id']][] = $row['data'];
}

由于$cache 是一个PHP 数组,我真的不需要将$cache[$row['id']] 初始化为一个数组。但是,我有时会遇到这样的代码:

for ($row in $someOtherArray) {
    if (!isset($cache[$row['id']])) {
        $cache[$row['id']] = [];
    }

    $cache[$row['id']][] = $row['data'];
}

上面,子数组被显式初始化为一个空数组。它在某种程度上有用吗?例如 - 它是否以某种方式帮助口译员?还是只是开发者过于热心?

【问题讨论】:

标签: php arrays


【解决方案1】:

就 PHP 而言,这是不必要的。 PHP 将使用$foo[$bar][] 语法为您隐式创建任意数量的子数组。它可能是业务逻辑所必需的,尽管不是在这个特定的安排中;这在这里简直是多余的。如果赋值是某种独立的逻辑,但您仍然希望确保键至少存在一个空数组,那么这是唯一有意义的时候。

【讨论】:

    【解决方案2】:

    将变量初始化为数组后,您可以对该变量使用特定于数组的方法。例如array_push()、array_map()等。

    【讨论】:

      猜你喜欢
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      • 1970-01-01
      相关资源
      最近更新 更多