Вы не можете сделать это с array_get
. Если вы посмотрите на функцию ( vendor / laravel / framework / src / Illuminate / Support / helpers.php: 155 ):
function array_get($array, $key, $default = null)
{
return Arr::get($array, $key, $default);
}
, которая вызывает функцию get класса Arr
( вендор / laravel / framework / src / Illuminate / Support / Arr.php: 278 ):
public static function get($array, $key, $default = null)
{
if (! static::accessible($array)) {
return value($default);
}
if (is_null($key)) {
return $array;
}
if (static::exists($array, $key)) {
return $array[$key];
}
if (strpos($key, '.') === false) {
return $array[$key] ?? value($default);
}
foreach (explode('.', $key) as $segment) {
if (static::accessible($array) && static::exists($array, $segment)) {
$array = $array[$segment];
} else {
return value($default);
}
}
return $array;
}
Если вы посмотрите на цикл foreach, который обрабатывает .
, он не поддерживает структуру вашего массива.