#3. 6 php Удаление элементов массива

Помимо модификации, существует и возможность удаления элемента из массива. Для удаления элемента, казалось бы, можно просто присвоить элементу массива пустую строку, например:

<?php
$fruits[0] = "яблоко";
$fruits[1] = "груша";
$fruits[2] = "абрикос";
$fruits[1] = " " ;
for ($index = 0; $index < count($fruits); $index++)
{
  echo $fruits[$index], "<BR>";
}
?>

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

Для удаления элемента из массива следует использовать функцию unset(), которая действительно освобождает занятую им память. Пример использования этой функции приведен ниже:

<?php
$fruits[О] = "яблоко";
$fruits[1] = "груша";
$fruits[2] = "абрикос";
unset($fruits[1]);
for ($index = 0; $index < count ($fruits); $index++)
{
  echo $fruits[$index], "<BR>";
}
?>

При выполнении этого кода на экран будет выведено сообщение о том, что элемент массива не определен:

яблоко
PHP Notice: Undefined offset: 1 in 76-02.php on line 8

Замечание

Следует обратить внимание, что строка «абрикос» не была выведена на экран, так как количество элементов массива после удаление стало равно двум. Для обработки массивов со строковым или непоследовательными числовыми индексами используются специальные приемы, описанные дальше. Кроме того, сообщение будет выведено только в том случае, если в настройках РНР разрешена выдача сообщений класса Notice. Обычно по умолчанию выдача подобных сообщений отключена.