+1: спасибо за помощь. PHP новичок здесь, но стоит отметить, что если вы пытаетесь выполнить эти изменения внутри foreachцикла, то вам нужно добавить амперсанд к вашей переменной перечисления, чтобы разрешить запись.
FreeAsInBeer
1
Вот ссылка на решение, иллюстрирующее комментарий по ссылке @FreeAsInBeer относительно амперсанда.
// To unset an element from array using Key:
unset($arr["key2"]);
var_dump($arr);// output: array(3) { ["key1"]=> string(6) "value1" ["key3"]=> string(6) "value3" ["key4"]=> string(6) "value4" }
Чтобы удалить элемент value:
// remove an element by value:
$arr = array_diff($arr,["value1"]);
var_dump($arr);// output: array(2) { ["key3"]=> string(6) "value3" ["key4"]=> string(6) "value4" }
Ответы:
Вы можете использовать
unset
:Пример:
Вывод:
источник
foreach
цикла, то вам нужно добавить амперсанд к вашей переменной перечисления, чтобы разрешить запись.Используйте
unset()
:источник
Используйте эту функцию, чтобы удалить определенные массивы ключей без изменения исходного массива:
Первый параметр передает весь массив, второй параметр устанавливает массив ключей для удаления.
Например:
источник
$output = array_except($array_1, ['color', 'fixed']);
Использование
unset
:источник
Рассмотрим этот массив:
Чтобы удалить элемент с помощью массива
key
:Чтобы удалить элемент
value
:узнать больше о array_diff: http://php.net/manual/en/function.array-diff.php
Чтобы удалить элемент с помощью
index
:узнать больше о array_splice: http://php.net/manual/en/function.array-splice.php
источник
Вам может понадобиться два или более цикла в зависимости от вашего массива:
источник
foreach ($key1
кажется неправильно. Вы имели в видуforeach ($values
?