[Php-avanzado] Problema foreach

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Mar Mayo 19 19:49:32 ART 2009


Hola Mauro,

	el & delante hace una asignación por referencia en vez de por valor al
elemento del array, y por eso funciona.

	Igual código de este tipo:

foreach {$a as $k => $v}(
	$a[$k] = htmlentities(trim($v));
}

	tiene que funcionar sin problemas... al menos lo usamos seguido acá y
nunca lo vi fallar...

El mar, 19-05-2009 a las 16:55 -0300, Mauro Giuffo escribió:
> Encontre esto en php.net:
> 
> As of PHP 5, you can easily modify array's elements by preceding
> $value with &. This will assign reference instead of copying the
> value.
> 
> <?php
> $arr = array(1, 2, 3, 4);
> foreach ($arr as &$value) {
>     $value = $value * 2;
> }
> // $arr is now array(2, 4, 6, 8)
> unset($value); // break the reference with the last element
> ?>
> 
> aparentemente hay que agregar un & antes de la variable que va a
> contener el valor para poder modificarlo
> 
> Saludos
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado