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,然后您就可以访问它了。遗憾的是,它是这样做的