Unset array item php

Как удалить элемент массива в PHP: все способы

Массив в PHP (от англ. Array) — это глобальный объект для хранения данных упорядоченным образом. Как устроен массив: упорядоченный список элементов всегда имеет собственный ключ, он называется индексом, а каждое значение в такой коллекции данных называется элементом. При этом отсчет индекса всегда начинается с нуля. Самые частые примеры упорядоченных коллекций в реальном мире — списки данных, например, список HTML-элементов, список пользователей, список продуктов, список адресов.

Простыми словами, массив — это упорядоченный список элементов с указанным индексом (ключом к ним) для быстрого получения доступа к любому элементу.

Что такое элемент массива

Это каждое значение, которое хранится внутри него. И здесь мы снова возвращаемся к индексу: у каждого элемента есть собственная связь с индексом. Такой индекс и задействуется для получения доступа к какому-либо конкретному элементу.

О нумерации

Как и в других языках нумерация элементов массивов в PHP начинается с нуля. Например: 5-й элемент будет доступен по индексу 4, 6-й — по индексу 5 и так далее. Индекс и ключ можно рассматривать как равнозначные понятия.

Не знаете с чего начать обучение? Прежде чем браться за изучение полноценного языка программирования PHP, разумно будет пройти курс «Веб-разработчик». Если PHP кажется слишком сложным — запишитесь на курс «Основы вёрстки». В указанных курсах вы получите базис для дальнейшего освоения не только PHP но и других языков программирования.

Читайте также:  Html image width div

Как удалить элемент массива + примеры

Примечание: в этой статье термины элемент и значение будут рассматриваться как взаимозаменяемые.

Стандартных функций array_remove, array_clear или array_delete в PHP нет.

Два способа удалить значение из массива в PHP, которые применяются наиболее широко, рассмотрим ниже.

Функция unset()

Поскольку объект типа array? простыми словами, это набор связанных переменных, то можно просто удалить эти переменные. Для этого подойдёт функция unset(). Например, вот так:

$array = array("fly", "bear", "bug", "queen"); unset($array[1]); print_r($array); /* *outputs: * Array( [0] => fly [2] => bug [3] => queen ) */

Указанная функция удаляет значение в массиве по конкретному индексу.

Можно использовать функцию unset() для удаления абсолютно любого элемента из массива.

unset() принимает на вход ключ и удаляет значение из массива. После удаления ключи и значения других элементов массива остаются неизменными, элементы не переставляются.

$arr = ["1", "2", "3", "4", "5", "6"]; unset($arr[2]); // удаляет значение индекса 2

Функция array_splice()

Функция удаляет значение согласно индексу + количеству удаляемых элементов.

$arr = ["1", "2", "2", "3", "3", "4"]; array_splice($arr, 3, 2); // удаляет два элемента, начиная с индекса 3
$arr = ["1", "2", "2", "3", "3", "4"]; array_splice($arr, 3, 3); // удалит три элемента, начиная с индекса 3

Как удалить первый элемент массива + примеры

Функция array_shift() удаляет первое значение из массива и возвращает этот элемент в качестве своего значения.

Примечание: если ключи числовые, то все значения в массиве получат новые ключи, начиная с нуля (и затем происходит увеличение на 1). Пример мы рассмотрим ниже.

"rabbit","b"=>"gazelle","c"=>"bat"); echo array_shift($a); // rabbit print_r ($a); ?> Array ( [b] => gazelle [c] => bat )

Как удалить самый последний элемент массива + примеры

Для этой цели допустимо использовать функцию array_pop(). Её главная задача — стереть последнее значение

 Array ( [0] => rabbit [1] => gazelle )

Как удалить из массива пустые элементы

Для решения указанной задачи используйте функцию array_filter().

Вы можете применить функцию array_filter(), чтобы стереть или отфильтровать пустые элементы.

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

  • «» (это будет пустая строка).
  • 0 (это 0 в качестве целого числа).
  • 0.0 (это 0 в качестве плавающей величины).
  • «0» (это 0 в качестве строки).
  • NULL, FALSE и array() (это просто пустой массив).

Давайте рассмотрим пример, чтобы понять, как это работает:

"; array(10) < [0]=>string(9) "albatross" [1]=> string(0) "" [2]=> int(0) [3]=> int(2) [4]=> NULL [5]=> int(-5) [6]=> string(1) "0" [7]=> string(7) "octopus" [8]=> int(10) [9]=> bool(false) > // Фильтруем $result = array_filter($array); var_dump($result); array(5) < [0]=>string(9) "albatross" [3]=> int(2) [5]=> int(-5) [7]=> string(7) "octopus" [8]=> int(10) > ?>

Обратите внимание: в нашем примере значения 0 и «0» также будут стерты.

Если необходимо сохранить 0, то можно задействовать коллбэк-функцию. Например, вот таким образом:

"; array(10) < [0]=>string(9) "albatross" [1]=> string(0) "" [2]=> int(0) [3]=> int(2) [4]=> NULL [5]=> int(-5) [6]=> string(1) "0" [7]=> string(7) "octopus" [8]=> int(10) [9]=> bool(false) > // Определяем функцию обратного вызова function myFilter($var) < return ($var !== NULL && $var !== FALSE && $var !== ""); >// Фильтруем $result = array_filter($array, "myFilter"); var_dump($result); array(7) < [0]=>string(9) "albatross" [2]=> int(0) [3]=> int(2) [5]=> int(-5) [6]=> string(1) "0" [7]=> string(7) "octopus" [8]=> int(10) > ?>

Функция обратного вызова myFilter() в примере инициируется для каждого значения объекта $array. Когда myFilter() возвращает TRUE — происходит добавление значения в результирующий массив, в противном случае элемент не добавляется.

Как удалить повторяющиеся элементы + примеры

Чтобы решить проблему удаления дублей в PHP можно используя функцию array_unique. Она удалит все дубли значений из объекта array.

Если два или более значений идентичны, то сохраняется первое, а второе — удаляется.

Примечание:в возвращаемом массиве сохраняются ключи исходного массива.

array_unique(array, sorttype)
  • array. Обязательный аргумент. Исходный массив с дублирующимися элементами.
  • sorttype. Необязательный аргумент. Указывает, как сравнивать элементы. Возможные значения:
  1. SORT_STRING. Это значение по умолчанию. Заключается в том, чтобы сравнивать элементы принимая их за строки.
  2. SORT_REGULAR. Указание сравнивать значения в обычном порядке (без изменения типов).
  3. SORT_NUMERIC. Указание сравнивать значения численно.
  4. SORT_LOCALE_STRING. Указание сравнивать значения как строки, основываясь на текущей локали.
$array = array(1, 2, 3, 4, 4, 4, 5, 5); $unique_array = array_unique($array); print_r($unique_array); Вывод: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [6] => 5 )

Топ-5 полезных видео по теме

Напоследок — посмотрите эти видео. Они помогут вникнуть в тему ещё лучше и сделают из вас настоящего профессионала во всём, что связано с удалением элементов.

Подробно разбирается функция unset(). Демонстрация работы функций array_diff() и array_search().

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

Автор показывает, как удалить элемент из объекта array по значению, а не по ключу.

Полезное видео о том, как создавать, читать, добавлять, изменять и удалять элементы.

Наглядное и понятное видео с примерами от Drupal Academy по той же теме.

PHP — неотъемлемая часть бэкэнд-разработки в 2023 году. Успей попасть в группу сегодня и получи профессию разработчика уже завтра!

Источник

Unset array item php

  • Program to Insert new item in array on any position in PHP
  • PHP append one array to another
  • How to delete an Element From an Array in PHP ?
  • How to print all the values of an array in PHP ?
  • How to perform Array Delete by Value Not Key in PHP ?
  • Removing Array Element and Re-Indexing in PHP
  • How to count all array elements in PHP ?
  • How to insert an item at the beginning of an array in PHP ?
  • PHP Check if two arrays contain same elements
  • Merge two arrays keeping original keys in PHP
  • PHP program to find the maximum and the minimum in array
  • How to check a key exists in an array in PHP ?
  • PHP | Second most frequent element in an array
  • Sort array of objects by object fields in PHP
  • PHP | Sort array of strings in natural and standard orders

PHP Function Based

  • How to pass PHP Variables by reference ?
  • How to format Phone Numbers in PHP ?
  • How to use php serialize() and unserialize() Function
  • Implementing callback in PHP
  • PHP | Merging two or more arrays using array_merge()
  • PHP program to print an arithmetic progression series using inbuilt functions
  • How to prevent SQL Injection in PHP ?
  • How to extract the user name from the email ID using PHP ?
  • How to count rows in MySQL table in PHP ?
  • How to parse a CSV File in PHP ?
  • How to generate simple random password from a given string using PHP ?
  • How to upload images in MySQL using PHP PDO ?
  • How to check foreach Loop Key Value in PHP ?
  • How to properly Format a Number With Leading Zeros in PHP ?
  • How to get a File Extension in PHP ?

PHP Date Based

  • How to get the current Date and Time in PHP ?
  • PHP program to change date format
  • How to convert DateTime to String using PHP ?
  • How to get Time Difference in Minutes in PHP ?
  • Return all dates between two dates in an array in PHP
  • Sort an array of dates in PHP
  • How to get the time of the last modification of the current page in PHP?
  • How to convert a Date into Timestamp using PHP ?
  • How to add 24 hours to a unix timestamp in php?
  • Sort a multidimensional array by date element in PHP
  • Convert timestamp to readable date/time in PHP
  • PHP | Number of week days between two dates
  • PHP | Converting string to Date and DateTime
  • How to get last day of a month from date in PHP ?

PHP String Based

  • PHP | Change strings in an array to uppercase
  • How to convert first character of all the words uppercase using PHP ?
  • How to get the last character of a string in PHP ?
  • How to convert uppercase string to lowercase using PHP ?
  • How to extract Numbers From a String in PHP ?
  • How to replace String in PHP ?
  • How to Encrypt and Decrypt a PHP String ?
  • How to display string values within a table using PHP ?
  • How to write Multi-Line Strings in PHP ?
  • How to check if a String Contains a Substring in PHP ?
  • How to append a string in PHP ?
  • How to remove white spaces only beginning/end of a string using PHP ?
  • How to Remove Special Character from String in PHP ?
  • How to create a string by joining the array elements using PHP ?
  • How to prepend a string in PHP ?

PHP Class Based

PHP JSON Based

PHP File Systems Based

Источник

Оцените статью