PHP - arrays referencia y unset

   
Vista:
Imágen de perfil de Pierre

arrays referencia y unset

Publicado por Pierre (9 intervenciones) el 13/06/2016 12:39:38
Hola, tengo una duda o una consulta sobre arrays utilizando "unset".

Dada la siguiente declaracion de array y el siguiente fragmento de codigo:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$mi_Array = array();
 
	.....
	.....
	$mi_Array[] = '...utilizacion del array...';
	.....
	.....
 
function reiniciar_Array()
{
	global $mi_Array;
	unset($mi_Array);
 
	// Si no me equivoco el unset anterior
	// seria como hacer lo siguiente:
 
	$mi_Array =& $GLOBALS["mi_Array"];
	unset($mi_Array);
 
	// Con lo cual lo que se destruye es la referencia
	// y no el array global
}


¿Como puedo reiniciar (vaciar) un array global desde el ambito de una funcion?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Pierre

arrays referencia y unset

Publicado por Pierre (9 intervenciones) el 13/06/2016 13:19:49

Ya me respondo yo mismo...

La solucion seria:

unset($GLOBALS['mi_Array']);


¿Existe alguna otra forma mas optima y limpia de vaciar un array?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de kip

arrays referencia y unset

Publicado por kip (566 intervenciones) el 13/06/2016 16:29:45
Hola, con unset lo que haces es destruir la variable, si lo que quieres hacer es vaciar o limpiar un array, podrias hacerlo asi:

1
2
3
4
5
6
7
8
9
function reiniciar_Array()
{
    $GLOBALS["mi_Array"]=array();
}
 
$mi_Array = array('valor1','valor2','valor3');
echo $mi_Array[0];
reiniciar_Array();
var_dump($mi_Array);

De esa forma el array quedara vacio, pero la variable podrias reutilizarla, todo depende de que es lo que quieras hacer con ella.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar