Основы эффективной стирки: как в PHP удалить элемент массива

Основы эффективной стирки: как в PHP удалить элемент массива

От автора: опять это пятно на моей любимой футболке! И опять не отстиралось! Наверное, использую неправильный порошок. Хорошо, что в PHP удалить элемент массива можно с первого раза. Как это сделать? Сейчас расскажу.

Тотальное удаление и не только

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

Но иногда нужно очистить весь массив, а не удалить элемент массива по значению PHP. Сразу проинформирую, что большая часть операций модификации осуществляется с помощью специальных функций.

Чтобы удалить значения всех элементов, не затрагивая структуру массива, нужно использовать функцию unset(). Например:

<?php
$sredstvo = array("Тайд","Гала","Лотос","Персил","Ариэль","Лоск","Биолан");
echo "Массив до изменения". "<br />";
print_r($sredstvo);
$count = count($sredstvo);
for ($c=0; $c<$count;$c++)
{
unset($sredstvo[$c]);
}
echo "<br />";
echo "Массив после изменения". "<br />";
print_r($sredstvo);
?>

как в PHP удалить элемент массива

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее

Теперь рассмотрим, как удалить элемент массива PHP с помощью этой же функции:

<?php
$sredstvo = array("Тайд","Гала","Лотос","Персил","Ариэль","Лоск","Биолан");
echo "Массив до изменения". "<br />";
print_r($sredstvo);
$count = count($sredstvo);
for ($c=0; $c<$count;$c++)
{
unset($sredstvo[2]);
}
echo "<br />";
echo "Массив после изменения". "<br />";
print_r($sredstvo);
?>

как в PHP удалить элемент массива

Кроме этого в PHP для удаления элемента массива по ключу необязательно перебирать его с помощью цикла. Достаточно напрямую передать функции unset() в качестве аргумента индекс элемента:

<?php
unset($sredstvo[2]);
?>

На самом деле в ПХП существует множество функций для манипуляций с массивами. Для рассмотрения всех не хватит одной статьи. Но мы постараемся охватить наиболее важные из встроенных средств. Функция array_diff():

<?php
$sredstvo = array("Тайд","Лотос","Персил","Ариэль","Лоск","Биолан");
$sredstvo1 = array("Тайд","Лотос","Персил","Ариэль","Лоск","Биолан","Классный порошок");
$result = array_diff($sredstvo1, $sredstvo);
echo "<br />";
echo "Уникальные элементы". "<br />";
print_r($result);
?>

как в PHP удалить элемент массива

Наверное, вы уже догадались, что эта функция позволяет удалить одинаковые элементы массива PHP.

Другие виды удаления

Теперь быстро пробежимся по функциям, которые позволяют изымать из массива различные по порядку элементы. Но сделаем этот мини-обзор более интригующим и полезным. Я сначала приведу код и его результат, а вы попробуйте понять, чем эта функция «занимается». Тольку, чур, не подглядывать :) . Функция array_pop():

<?php
$sredstvo = array("Тайд","Лотос","Персил","Ариэль","Лоск","Биолан");
echo "Массив без изменений". "<br />";
print_r($sredstvo);
$result = array_pop($sredstvo);
echo "<br />";
echo "Массив без элемента". "<br />";
print_r($sredstvo);
echo "<br />";
echo "Удаленный элемент массива, присвоенный переменной ".'$result'." ($result)";
?>

как в PHP удалить элемент массива

Надеюсь, вы догадались, что эта функция позволяет в PHP удалять последний элемент массива. Играем дальше :) . Функция array_shift():

<?php
$sredstvo = array("Тайд","Лотос","Персил","Ариэль","Лоск","Биолан");
echo "Массив без изменений". "<br />";
print_r($sredstvo);
$result = array_shift($sredstvo);
echo "<br />";
echo "Массив без элемента". "<br />";
print_r($sredstvo);
echo "<br />";
echo "Удаленный элемент массива, присвоенный переменной ".'$result'." ($result)";
?>

как в PHP удалить элемент массива

Функция позволяет в PHP удалять первый элемент массива. И рассмотрим еще одно специализированное средство – array_unique().

<?php
$sredstvo = array("Тайд","Лотос","Персил","Ариэль","Лоск","Биолан","Тайд");
echo "Массив без изменений". "<br />";
print_r($sredstvo);
$result = array_unique($sredstvo);
echo "<br />";
echo "Массив без элемента". "<br />";
print_r($result);

?>

как в PHP удалить элемент массива

Так в PHP можно удалять повторяющиеся элементы массива.

Очищаем массив от «мусора»

Часто массивы остаются с пустыми элементами. Их значение удаляется после проведения каких-либо операций. Такие элементы лишь засоряют память и негативно влияют на производительность приложений (сайтов), замедляя их и потребляя лишние ресурсы. Понятно, что от таких элементов нужно избавляться:

<?php
$sredstvo = array("Тайд","","Лотос","Персил","Ариэль","Лоск","Биолан","","Тайд");
echo "Массив без изменений". "<br />";
print_r($sredstvo);
$function = array(null);
$result = array_diff($sredstvo,$function);
echo "<br />";
echo "Очищенный массив". "<br />";
print_r($result);

?>

Исходя из кода примера, нам нужно удалять пустые элементы массива PHP с ключами 1 и 7. Напомню, что нумерация начинается с 0.

как в PHP удалить элемент массива

И мы снова применяем функцию array_diff(), которой в качестве второго аргумента передаем массив с одним пустым элементом.

Ну, так нечестно! Я вам почти весь материал чуть ли не «на блюдечке» преподнес. Так можно и облениться, поэтому в качестве домашнего задания оставляю вам рассмотреть PHP удаление элемента массива со сдвигом. А если не осилите, тогда пишите в комментариях – разберемся вместе. И если кто знает, то подскажите нормальный стиральный порошок, чтобы я избавился, наконец, от пятна на любимой футболке!

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Фреймворк YII2: теория и первая практика

Овладейте азами фреймворка Yii2 за 5 дней!

Получить

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree