Page 65 - Programador-PHP
P. 65
Programación Procedural de Aplicaciones Web de baja complejidad
PHP Experto – Tomo I Eugenia Bahit
referencia. Una asignación por referencia, se realiza
antecediendo el signo & al valor:
$datos_de_juan = array('Apellido' => 'Pérez',
'Fecha de nacimiento' => '23-11-1970',
'Teléfonos' => array('Casa' => '4310-9030',
'Móvil' => '15 4017-2530',
'Trabajo' => '4604-9000'),
'Casado' => True,
'Pasaporte' => False,
);
foreach($datos_de_juan as $titulo => &$dato) {
if(!is_array($dato)) {
if($dato === True) {
$dato = 'SI';
} else if ($dato === False) {
$dato = 'NO';
}
echo "{$titulo}: {$dato}" . chr(10);
} else {
foreach($dato as $tipo_telefono => $numero) {
echo "Teléfono {$tipo_telefono}: {$numero}" . chr(10);
}
}
}
Si tras el caso anterior, hiciéramos un print_r() notaríamos que
los valores de "Casado" y "Pasaporte" han modificado su valor
y su tipo:
php > print_r($datos_de_juan);
Array
(
[Apellido] => Prez
[Fecha de nacimiento] => 23-11-1970
[Telfonos] => Array
(
[Casa] => 4310-9030
[Mvil] => 15 4017-2530
[Trabajo] => 4604-9000
)
[Casado] => SI
[Pasaporte] => NO
)
La asignación por referencia, suele ser muy útil, cuando por
ejemplo, se necesita aplicar una misma función, a todos los
elementos de un array (por ejemplo, convertir a mayúsculas
65