Есть ли простой способ удалить элемент из массива PHP, чтобы он foreach ($array)
больше не включал этот элемент?
Я думал, что установка его на ноль сделает это, но, видимо, нет.
Есть ли простой способ удалить элемент из массива PHP, чтобы он foreach ($array)
больше не включал этот элемент?
Я думал, что установка его на ноль сделает это, но, видимо, нет.
Если у вас есть числовой индексированный массив, в котором все значения уникальны (или не уникальны, но вы хотите удалить все экземпляры определенного значения), вы можете просто использовать
array_diff()
для удаления соответствующего элемента, например:Например:
Это показывает следующее:
В этом примере элемент со значением «Чарльз» удален, что может быть подтверждено вызовами
sizeof()
, которые сообщают размер 4 для исходного массива и 3 после удаления.A. Если вы хотите удалить все вхождения значения внутри массива
Вы можете комбинировать следующие функции PHP:
array_keys()
иunset()
В примере я реализовал функцию
remover()
:См. DEMO решений A и B
Результат:
B. Если вы хотите удалить только одно вхождение:
Вы можете комбинировать
unset()
приведенное выше сarray_search()
.Пример:
Результат:
Простым способом является использование функции «unset», я полагаю, вы работаете с форматом «JSON», так как он широко используется в настоящее время:
Синтаксис:
вот другое решение, оно может быть полезно другому человеку, который ищет
//удаляем элементы первого массива равные элементам второго массива
вывод этого будет: Массив ( [2] => 3 )
Это будет зависеть от ситуации, в которой вы находитесь:
Я хочу удалить элемент, индекс которого известен ...
...
Я хочу удалить значение из массива , В этом случае, поскольку их может быть несколько, я могу найти их с возможностью поиска позиции этого значения, поскольку их может быть несколько, нам придется повторить. ..
...