Laravel Larvel 5:如何使用array_get方法访问内部有点的属性

Laravel Larvel 5:如何使用array_get方法访问内部有点的属性,laravel,laravel-5,laravel-5.6,Laravel,Laravel 5,Laravel 5.6,我有这样一个数组: $data = [ "x" => [ "y" => 5, "a.b" => 10 ] ] array_get($data, 'x.y'); 我可以这样访问x.y: $data = [ "x" => [ "y" => 5, "a.b" => 10 ] ] array_get($data, 'x.y'); 但是,如何访问x.(a.b)(有时写为x.a->b) 我尝试了以下方法: array

我有这样一个数组:

$data = [
  "x" => [
    "y" => 5,
    "a.b" => 10
  ]
]
array_get($data, 'x.y');
我可以这样访问
x.y

$data = [
  "x" => [
    "y" => 5,
    "a.b" => 10
  ]
]
array_get($data, 'x.y');
但是,如何访问
x.(a.b)
(有时写为
x.a->b

我尝试了以下方法:

array_get($data, 'x.a.b');
array_get($data, 'x.a->b');
但这两种方法似乎都不起作用。

``
`<?php
$data = [
  "x" => [
    "y" => 5,
    "a.b" => 10
  ]
];
echo $data['x']['a.b'];
// get like this
?>`
如果您是从db访问,请使用下面链接中提到的别名

您不能使用
array\u get
。如果您查看函数(vendor/laravel/framework/src/illumb/Support/helpers.php:155):

调用
Arr
类的get函数(vendor/laravel/framework/src/illighte/Support/Arr.php:278):


如果查看处理
的foreach循环,它不支持数组的结构。

根据您的示例,它非常简单:

$data = [
  "x" => [
    "y" => 5,
    "a.b" => 10
  ]
];

array_get($data, "x")['a.b'] //gives you the right value

实际上,对于这样的数组,您不必使用
array\u get
。还有,为什么要在数组索引中使用这样的名称。

为什么要将其命名为a.b将其命名为ab,然后您就可以访问它了。遗憾的是,它是这样做的