数组设值:arr_dot_set() 返回

代码版本: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