+1: Dzięki za pomoc. PHP newb tutaj, ale warto zauważyć, że jeśli próbujesz wykonać te zmiany w foreachpętli, musisz wstawić znak ampersand do zmiennej wyliczania, aby umożliwić dostęp do zapisu.
FreeAsInBeer
1
Oto link do rozwiązania, które ilustruje komentarz przez link @FreeAsInBeer w odniesieniu do ampersand.
// 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" }
Aby usunąć element 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" }
Odpowiedzi:
Możesz użyć
unset
:Przykład:
Wynik:
źródło
foreach
pętli, musisz wstawić znak ampersand do zmiennej wyliczania, aby umożliwić dostęp do zapisu.Użyj
unset()
:źródło
Użyj tej funkcji, aby usunąć określone tablice kluczy bez modyfikowania oryginalnej tablicy:
Pierwszy parametr przekazuje całą tablicę, drugi zestaw parametrów usuwa tablicę.
Na przykład:
źródło
$output = array_except($array_1, ['color', 'fixed']);
Używanie
unset
:źródło
Rozważ tę tablicę:
Aby usunąć element za pomocą tablicy
key
:Aby usunąć element
value
:czytaj więcej o array_diff: http://php.net/manual/en/function.array-diff.php
Aby usunąć element za pomocą
index
:czytaj więcej o tablicy_splice: http://php.net/manual/en/function.array-splice.php
źródło
W zależności od tablicy mogą być potrzebne dwie lub więcej pętli:
źródło
foreach ($key1
wydaje się niewłaściwy. Miałeś na myśliforeach ($values
?