代码版本:PHP 8.0+
/** * 数组设值:以'键名.键名'的方式进行数组设值 * @param array $array 数组 * @param string $name 设置键名 * @param mixed $value 设置的值 * @return mixed 设置的值 */ function arr_dot_set(array &$array, string $name, mixed $value = ''): mixed { $keys = explode('.', $name); $temp = &$array; foreach ($keys as $key) { $temp[$key] ??= []; $temp = &$temp[$key]; } return $temp = $value; }
调用示例:
$array = ['test' => [2 => [3, 4, 5]]]; echo arr_dot_set($array, 'test.2.2', 6); //输出6