Найти тему
Laravel Topsite Web

Удаление ключей из массива или объекта с помощью хелпера data_forget в Laravel

Laravel включает в себя новую утилиту под названием data_forget, которая позволяет удалять ключи из массива или объекта с помощью нотации "точка" и будет включена в следующую версию.

Давайте посмотрим, как работает помощник data_forget:

$data = [
'people' => [
'pavel' => ['street' => 'Kutuzovsky Prospekt', 'city' => 'Moscow'],
'vladimir' => ['street' => 'Nevsky Prospekt', 'city' => 'Saint-Petersburg']
]
];
data_forget($data, 'people.*.street');

Функция data_forget удаляет атрибут 'street' как из подмассива "pavel", так и из подмассива "vladimir".

Тогда результатом будет:

[
'people' => [
'pavel' => ['city' => 'Moscow'],
'vladimir' => ['city' => 'Saint-Petersburg']
]
];

Одной из отличительных особенностей хелпера data_forget является его гибкость. Он поддерживает подстановочные знаки и полное обозначение "точкой".

Например, в приведенном выше примере в строке ключа используется подстановочный знак (*), указывая любой подраздел с именем. Кроме того, если вам нужно удалить ключ из определенного подмассива, вы можете сделать это, используя полную нотацию 'dot', например:

data_forget($data, 'people.pavel.address');