什么是在PHP中为数组添加值的最快方法

时间:2015-09-11 15:05:10

标签: php multidimensional-array

我正在开发一个有Arr助手类的项目,我很好奇:这样做是否有好处:

/**
 * Sets an array value
 *
 * @param array  $array
 * @param string $path
 * @param mixed  $value
 *
 * @return void
 */
public static function set(array &$array, $path, $value)
{
    $segments = explode('.', $path);
    while (count($segments) > 1) {
        $segment = array_shift($segments);
        if ( ! isset( $array[$segment] ) || ! is_array($array[$segment])) {
            $array[$segment] = [];
        }
        $array =& $array[$segment];
    }
    $array[array_shift($segments)] = $value;
}

Arr::set($data['stories'], 'fields.age', '3');

通过这个:

$data['stories']['fields']['age'] = '3';

或者有更好,更快的方式吗?

1 个答案:

答案 0 :(得分:0)

该功能更容易输入 - 您不必制作这么多括号和引号。它使事情变得更容易。

对于性能:如果使用普通语法设置数组值,则速度更快,因为您不必在之前分解路径或检查是否存在。但这需要的时间不多。