Удалить пустые значения из массива php

Удалить пустые значения из массива php

Я хочу удалить пустые и нулевые значения из $listValues массив.
Здесь я удалил пустые значения, используя array_filter ,
Образец кода:

Любой совет с благодарностью.

Решение

попробуйте следующее: функция array_diff () сравнивает значения двух (или более) массивов и возвращает различия. удалить нуль и «». если вам нужно удалить еще несколько полей, то добавьте эти значения в массив

Другие решения

Пытаться array_filter со вторым параметром в качестве пользовательской функции, например:

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

Но, если вы хотите, чтобы те же индексы получали этот вывод:

Удалить пустые элементы из массива проще всего при помощи функции array array_diff(array $array1, array $array2[, array $. ]) . В качестве первого параметра передается исходный массив, в качестве второго — массив с одним пустым значением.

Пример

Возьмем в качестве примера массив с несколькими пустыми элементами и удалим их.

Пример 2

В качестве другого примера возьмем массив, где в качестве пустых значений будут нули и null-значения, которые нужно удалить.

Функция array_delete()

Можно написать функцию array array_delete(array $array, array $symbols = array(»)) , которая будет принимать два параметра: исходный массив и необязательный параметр-массив с элементами, которые надо удалить.

Категории

Читайте также

Комментарии

Благодарен за статью, очень помогла с ВП (вывод не пустого массива заполненных произвольных полей).

Введите данные указанные при регистрации:

Социальные сети

Вы можете быстро войти через социальные сети:

Я искал много ответов, но ни один из них не работает для меня.

это данные, присвоенные my $quantities время:

Я ищу способ, чтобы удалить подмассивы с пустыми значениями, как [12] [1] и [2] сохраняя все остальное.

Читайте также:  Bioshock collection ps4 русский

Я пробовал много функций в официальных документах php, и ни одна из них не работала.

я использовал этот один:

но он удаляет только элемент в подзонах; мне нужно, чтобы подзоны были полностью удалены.

Я не хочу этого:

8 ответов

немного поздно, но может помочь кому-то, кто ищет тот же ответ. Я использовал этот очень простой подход к работе;

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

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

Затем нам просто нужно вызвать эту функцию:

Не уверен, что это именно то, что ищете.

Я уверен, что лучше проверить и сделать это более надежным может помочь решению.

используйте array_map () для фильтрации каждого массива в $array:

это sintax это работа и очень помогает полное спасибо ребятам ..

использовать array_filter С array_map , как показано ниже:

это удаляет все элементы с нулевыми значениями рекурсивно на многодеминсионных массивах. Работает на PHP >= 5.6. Если вы хотите удалить все значения "empry", замените !is_null($value) С !empty($value) .

поскольку подзоны в вашем массиве имеют только один элемент каждый, вы можете упростить подход, используя любой из двух следующих методов. Логическое преимущество заключается в том, чтобы избежать функционального итератора ( array_filter ) на втором уровне элементов. Вот почему current() больше подходит для этого вопроса/страница.

как выходной один и тот же результат (который намеренно удаляет пустые значения и варенье 0 значение)

в вышеуказанных методах, strlen() используется для проверки элементов 2-го уровня, потому что OP только перечисленные целые числа как "непустые" значения. Будущее поэтому читатели могут иметь различные требования, основанные на элементах, возможно проведение false , null , ‘0’ , 0 , etc. Подходящие функции замены для strlen() может быть: любой функции "is_", пустая(), ни функции "ctype", и многое другое.

Читайте также:  Фнс 22 одинцово личный кабинет

если массив 2-го уровня OP содержал более одного элемента, и OP хотел удалить все нуль-иш, false-y, пустые, нулевые элементы (то есть нули не нужны или гарантированно не происходят), то Alastair f’s answer было бы лучшим выбором.

если входной массив OP имел неизвестное количество уровней и нулевые/false-y/empty / null элементы должны быть удалены, то ответ Резы Мамуна — это логическое, рекурсивное подход.

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

Ссылка на основную публикацию
Adblock detector