Как удалить элемент массива по ключу в PHP

Как удалить элемент массива по ключу в PHP

В данной короткой статье, рассмотрим пару примеров удаление элементов массива по его ключу.

Полный листинг кода ниже:

$array = [
	1 => 'One',
	'Two' => 3,
	'Three' => 'Three',
	4 => NULL,
];
echo "<pre dir='ltr'>";print_r($array); echo "</pre>";

if(isset($array['Two']))
{
	unset($array['Two']);
}
echo "<pre dir='ltr'>";print_r($array); echo "</pre>";

if(isset($array[4]))
{
	unset($array[4]);
}
echo "<pre dir='ltr'>";print_r($array); echo "</pre>";

if(array_key_exists(4, $array))
{
	unset($array[4]);
}
echo "<pre dir='ltr'>";print_r($array); echo "</pre>";

Что мы имеем:

$array = [
	1 => 'One',
	'Two' => 3,
	'Three' => 'Three',
	4 => NULL,
];
echo "<pre dir='ltr'>";print_r($array); echo "</pre>";

инициализация массива с четырьмя значениями (обратите внимание на последний).

Удаление элемента массива по ключу, ничем не отличается от удаления обычной переменной. Для этого, нужно использовать функцию PHP «unset()», с аргументом удаляемой переменной. Но прежде чем что-то удалять, нужно проверить, была ли инициализирована переменная ранее. Иначе может возникнуть ошибку.

Для проверки можно использовать следующее условие:

if(isset($array['Two']))
{
	unset($array['Two']);
}
echo "<pre dir='ltr'>";print_r($array); echo "</pre>";

и сразу же проверить результат. Как видите, массив был уменьшен на одну запись.

Продолжим наше исследование, и постараемся удалить элемент массива с ключом «4»:

if(isset($array[4]))
{
	unset($array[4]);
}
echo "<pre dir='ltr'>";print_r($array); echo "</pre>";

Проверив результат, мы обнаружим что значение не было удалено. Все дело в условном операторе и функции «isset()». Дело в том, что она не срабатывает для переменной имеющей значение NULL. Поэтому, в подобных случаях лучше использовать функцию «array_key_exists()»:

if(array_key_exists(4, $array))
{
	unset($array[4]);
}
echo "<pre dir='ltr'>";print_r($array); echo "</pre>";

Проверяем результат — да, все в порядке, значение удалено.

А в этой статье можно узнать как удалить элемент массива по значению.

Поделиться в соцсетях:

С вашим WordPress сайтом проблемы? нужен дополнительный функционал? нестандартный плагин или сверстать новую страницу?
Тогда напишите мне через форму обратной связи, и я постараюсь вам помочь.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *