+1: Gracias por la ayuda. PHP newb aquí, pero vale la pena señalar que si está intentando realizar estas ediciones dentro de un foreachbucle, entonces necesita anteponer un ampersand a su variable de enumeración para permitir el acceso de escritura.
FreeAsInBeer
1
Aquí hay un enlace a una solución que ilustra el comentario del enlace @FreeAsInBeer con respecto al 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" }
Para eliminar elemento por 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" }
Respuestas:
Puedes usar
unset
:Ejemplo:
Salida:
fuente
foreach
bucle, entonces necesita anteponer un ampersand a su variable de enumeración para permitir el acceso de escritura.Uso
unset()
:fuente
Use esta función para eliminar conjuntos específicos de claves sin modificar el conjunto original:
El primer parámetro pasa toda la matriz, el segundo conjunto de parámetros establece la clave para eliminar.
Por ejemplo:
fuente
$output = array_except($array_1, ['color', 'fixed']);
Utilizando
unset
:fuente
Considere esta matriz:
Para eliminar un elemento usando la matriz
key
:Para eliminar elemento por
value
:Lea más sobre array_diff: http://php.net/manual/en/function.array-diff.php
Para eliminar un elemento usando
index
:Lea más sobre array_splice: http://php.net/manual/en/function.array-splice.php
fuente
Es posible que necesite dos o más bucles dependiendo de su matriz:
fuente
foreach ($key1
Parece mal Quiso decirforeach ($values
?