使用 Laravel 数组助手访问嵌套数组中的值
Posted
技术标签:
【中文标题】使用 Laravel 数组助手访问嵌套数组中的值【英文标题】:access values in nested array using Laravel array helpers 【发布时间】:2022-01-20 23:03:09 【问题描述】:我想访问这个嵌套数组名为 tags 的父元素中名为 name 的元素的值:
$array = Post::whereIn('id', [1,2,3,4])->with('tags')->get()->toArray();
dd($array)
array:4 [▼
0 => array:5 [▼
"id" => 1
"text" => "The First"
"tags" => array:3 [▼
0 => array:5 [▼
"id" => 4
"name" => "Tag 4"
"pivot" => array:2 [▶]
]
1 => array:5 [▼
"id" => 4
"name" => "Tag 4"
"pivot" => array:2 [▶]
]
2 => array:5 [▼
"id" => 5
"name" => "Tag 5"
"pivot" => array:2 [▶]
]
]
]
1 => array:5 [▼
"id" => 2
"text" => "The Second"
"tags" => array:1 [▼
0 => array:5 [▼
"id" => 4
"name" => "Tag 4"
"pivot" => array:2 [▶]
]
]
]
2 => array:5 [▶]
3 => array:5 [▶]
]
我需要一个看起来更像这样的数组中的数据:
['id' => '4','name' => 'Tag 4'],
['id' => '4','name' => 'Tag 4'],
['id' => '5','name' => 'Tag 5'],
['id' => '4','name' => 'Tag 4'],
我目前正在尝试:
use Illuminate\Support\Arr;
$tags = Arr::get($array, 'tags.name');
returns Null
然后我想从这里挑选出唯一值以使用我试图获取的数组上的 unique() 方法显示它们
【问题讨论】:
【参考方案1】:你可以这样使用
foreach($array as $tag)
$var = $tag['tags'];
// or this way as well
$var1 = $tags = Arr::get($tag, 'tags.name');
【讨论】:
【参考方案2】:如果您使用的是 php,那么我会创建一个 foreach
:
foreach($array->getTags() as $tag)
dd($tag);
【讨论】:
它在 Laravel 项目中,所以 PHP以上是关于使用 Laravel 数组助手访问嵌套数组中的值的主要内容,如果未能解决你的问题,请参考以下文章