@mix-9

Как можно удалить элемент из array_map?

Доброго времени суток.
Есть массив, нужно из него удалить некоторые элементы
foreach($data as $k => $v) {
  if(...)
    unset($data[$k]);
}

Вот так делаю. Нет ли возможности написать это немного красивее, например через array_map? Просто сделать null лишние элементы не пойдет, не хочу потом проверять их. Ключи значения не имеют
  • Вопрос задан
  • 363 просмотра
Решения вопроса 1
@kandrash
Кратко о себе
https://www.php.net/manual/en/function.array-filter.php возможно вы ищете?
$data = [1, 2, 3, 4];

// Тут $result, но можете и $data оставить
$result = array_filter($data, function ($item) {
    // Ваше условие
    return $item > 2;
});

var_dump($result);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Очередной эстет блин.
Потом разгребай за такими код.
Что здесь "некарасивого"?
Ты не на вернисаж пришел.
Код должен быть не "красивым", а делать что нужно, быть эффективным и читабельным.
Явный цикл с явным условием - это кинтэссениция читабельности, любой, кто его увидит, сразу поймет что он делает.

Если глаза прямо не могут смотреть на 4 строчки - сделай функцию. Нормальную функцию, которая вызывается в 4 слова, а не через хитрую вложенную конструкцию с подвыподвертом, которую тебе уже тут советуют
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы