vacio una tipos matriz manejo imprimir hacer ejemplos datos como asociativo array 3x3 php arrays associative-array

una - matriz en php



¿Cómo se elimina un valor que tiene una clave vacía de una matriz asociativa en PHP? (6)

Intentó:

$someList = Array(''A'' => ''Foo'', ''B'' => ''Bar'', '''' => ''Bah''); print_r($someList); echo ''<br/>''; unset($someList[''A'']); print_r($someList); echo ''<br/>''; unset($someList['''']); print_r($someList); echo ''<br/>'';

Tiene:

Array ( [A] => Foo [B] => Bar [] => Bah ) Array ( [B] => Bar [] => Bah ) Array ( [B] => Bar )

Deberías analizar de dónde viene la clave, también ...

Tengo una clave que parece ser una cadena vacía, sin embargo, uso de unset($array[""]); no elimina el par 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.

La línea para el elemento en print_r es [] => 1 , lo que me indica que la clave es la cadena vacía.

Usando var_export, el elemento aparece como '''' => 1 .

Usando var_dump, el elemento se enumera como [""]=>int(1) .

Hasta ahora, he probado 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


Intenta usar var_dump lugar de print_r . Esto puede darle una mejor idea de qué es exactamente la clave.


No estoy seguro que decirte. Ejecutando este script

<?php $arr = array( false => 1 , true => 2 , null => 3 , ''test'' => 4 // , '''' => 5 ); print_r( $arr ); foreach ( $arr as $key => $value ) { var_dump( $key ); } unset( $arr[''''] ); print_r( $arr );

Obtengo la siguiente salida

Array ( [0] => 1 [1] => 2 [] => 3 [test] => 4 ) int(0) int(1) string(0) "" string(4) "test" Array ( [0] => 1 [1] => 2 [test] => 4 )

Vea cómo se convirtió la clave de matriz "nula" convertida en una cadena vacía?

¿Estás seguro de que no estás trabajando con una copia de la matriz? Si hiciste esta llamada para desconectar () desde el interior de una función, es posible que lo estés.

Esto fue probado en PHP 5.2.0


Por favor, publique el código que usa para eliminar el elemento y su código de comprobación antes y después de esa línea.

Lo que estoy buscando es algo como esto:

var_export($array); echo "/n"; unset($array[""]); var_export($array);

También publique la salida completa de ambas líneas var_export .

Estoy buscando algo como esto:

array ( '''' => 1, ) array ( )


Pruebe unset($array[null]);

Si eso no funciona, imprima la matriz a través de var_export o var_dump lugar de print_r , ya que esto le permite ver el tipo de la clave. Use var_export para ver los datos en sintaxis de PHP.

var_export($array);

Tenga en cuenta que var_export no funciona con estructuras recursivas.


Supongo que no es una cadena vacía. Intenta lo siguiente para ver lo que obtienes:

foreach ($array as $index => $value) { echo $index; echo '' is ''; echo gettype($index); echo "/n"; }