РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
967 of 1392 menu

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' ]

Смотрите также

  • функция data_get,
    которая получает значение по указанному пути
  • функция data_set,
    которая устанавливает значение по указанному пути
  • функция data_fill,
    которая заполняет массив значениями только если ключи не существуют
  • метод forget,
    который удаляет элементы из коллекции
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить