PHP массив удалить по значению (не ключу)

С точки зрения создания мысли, простого, понятного, последовательного и легко понять (поскольку производительность здесь не имеет значения):

  • Использование встроенных варов в двойных кавычках может привести к сложному и запутывающие ситуации, когда вы хотите встроить свойства объекта, многомерные массивы и т. д. То есть, как правило, при чтении встроенных vars вы не можете мгновенно убедиться в конечном результате того, что вы читаете.
  • Вы часто необходимо добавить костыли, такие как {} и \, которые IMO добавляет путаницу и делает удобство чтения в конкатенации почти эквивалентным, если не лучше.
  • Как только вам нужно обернуть вызов функции вокруг var, для Например, htmlspecialchars($var), вы должны переключиться на конкатенацию.
  • AFAIK, вы не можете вставлять константы.

В некоторых конкретных случаях «двойные кавычки с встраиванием vars» могут быть полезным, но, вообще говоря, я бы пошел на конкатенацию (используя одиночные или двойные кавычки, когда это удобно)

793
задан Rok Kralj 6 September 2016 в 22:36
поделиться

2 ответа

Или просто, вручную:

foreach ($array as $key => $value){
    if ($value == $target_value) {
        unset($array[$key]);
    }
}

Это самый безопасный из них, потому что у вас есть полный контроль над вашим массивом

17
ответ дан T.Todua 6 September 2016 в 22:36
поделиться
$array = array("apple", "banana",'mango');
$array = array_filter($array, function($v) { return $v != "apple"; });

Попытка это, Это - лучший и самый быстрый способ удалить элемент значением

0
ответ дан 22 November 2019 в 21:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: