Tengo una clave que parece ser una cadena vacía, sin embargo, usar unset($array[""]);
no elimina el par de clave/valor. No veo otra función que haga lo que quiero, así que supongo que es más complicado que llamar a una función.¿Cómo se elimina un valor que tiene una clave vacía de una matriz asociativa en PHP?
La línea para el elemento en print_r es [] => 1
, lo que me indica que la clave es la cadena vacía.
Al usar var_export, el elemento aparece como '' => 1
.
Usando var_dump, el elemento aparece como [""]=>int(1)
.
Hasta ahora, he intentado todos los métodos de eliminación sugeridos, pero ninguno ha eliminado el elemento. He intentado unset($array[""]);
, unset($array['']);
, y unset($array[null]);
sin suerte.
En algún punto de la línea, un valor nulo se estaba transformando en la cadena vacía. Al ir a la fuente misma de la matriz y desactivar los valores nulos, pude corregir el problema. –
Felicidades, entonces. :) – Lemming
De http://php.net/manual/en/language.types.array.php: "Usar TRUE como clave evaluará al entero 1 como una clave. Usar FALSE como clave evaluará al entero 0 como una clave. Usar NULL como clave evaluará la cadena vacía. Usar la cadena vacía como clave creará (o sobrescribirá) una clave con la cadena vacía y su valor; " – okalex