data_forget
Функция data_forget применяется для удаления элементов из массивов или объектов.
Она позволяет удалять как простые ключи, так и вложенные структуры данных
с помощью "точечной" нотации. Первым параметром передаётся массив или объект,
вторым - ключ или массив ключей для удаления. Функция изменяет исходные данные
по ссылке и не возвращает значения.
Синтаксис
<?php
data_forget($target, $key);
?>
Пример
Давайте удалим элемент 'name' из массива пользователя:
<?php
$user = [
'name' => 'John',
'email' => 'john@example.com',
'age' => 30
];
data_forget($user, 'name');
print_r($user);
?>
Результат выполнения кода:
[
'email' => 'john@example.com',
'age' => 30
]
Пример
Удалим вложенный элемент с использованием "точечной" нотации:
<?php
$user = [
'name' => 'Jane',
'profile' => [
'age' => 25,
'city' => 'New York',
'country' => 'USA'
]
];
data_forget($user, 'profile.city');
print_r($user);
?>
Результат выполнения кода:
[
'name' => 'Jane',
'profile' => [
'age' => 25,
'country' => 'USA'
]
]
Пример
Удалим несколько элементов одновременно, передав массив ключей:
<?php
$user = [
'id' => 1,
'name' => 'Alice',
'email' => 'alice@example.com',
'phone' => '+1234567890',
'address' => [
'street' => 'Main St',
'zip' => '12345'
]
];
data_forget($user, ['phone', 'address.zip']);
print_r($user);
?>
Результат выполнения кода:
[
'id' => 1,
'name' => 'Alice',
'email' => 'alice@example.com',
'address' => [
'street' => 'Main St'
]
]
Пример
Удалим элемент из объекта, а не из массива:
<?php
$user = new stdClass();
$user->name = 'Bob';
$user->age = 28;
$user->city = 'Los Angeles';
data_forget($user, 'age');
print_r($user);
?>
Результат выполнения кода:
stdClass Object
(
[name] => Bob
[city] => Los Angeles
)
Пример
Удалим элемент с использованием нотации для вложенных структур в объекте:
<?php
$user = new stdClass();
$user->name = 'Charlie';
$user->profile = new stdClass();
$user->profile->age = 32;
$user->profile->city = 'Chicago';
data_forget($user, 'profile.age');
print_r($user);
?>
Результат выполнения кода:
stdClass Object
(
[name] => Charlie
[profile] => stdClass Object
(
[city] => Chicago
)
)
Пример
Удалим элемент, которого нет в массиве - функция просто не выполнит действие:
<?php
$user = [
'name' => 'David',
'email' => 'david@example.com'
];
data_forget($user, 'phone');
print_r($user);
?>
Результат выполнения кода:
[
'name' => 'David',
'email' => 'david@example.com'
]