Optimizar un switch o nido de ifs en una array tiene sus ventajas a la hora de optimizar/visualizar el código.
Por ejemplo tanto si tenemos un nido de ifs ...
- If($tipo_animal==0){
- $nombre="Cangrejo";
- }elseif($tipo_animal==1){
- $nombre="Oso";
- }elseif($tipo_animal==2){
- $nombre="Lobo";
- }elseif($tipo_animal==3){
- $nombre="Ballena";
- }elseif($tipo_animal==4){
- $nombre="Caballo";
- }else ....
... como si tenemos un switch ...
- Switch ($tipo_animal)
- case 0:
- $nombre="Cangrejo";
- break;
- case 1:
- $nombre="Oso";
- break;
- case 2:
- $nombre="Lobo";
- break;
- case 3:
- $nombre="Ballena";
- break;
- case 4:
- $nombre="Caballo";
- break;
- ...
Podemos simplificar el código creando un array:
- //crea un array con los nombres, posición 0 tiene Cangrejo, 1 Oso ... etc ... etc ...
- $nombre_animal=array('Cangrejo','Oso','Lobo','Ballena','Caballo', '...');
- //accediendo así
- $nombre=$nombre_animal[$tipo_animal];
Si por el contario nuestra array necesita otro tipo de clave podemos asignársela también como si de una colección se tratase:
- //crea un array con los nombres, clave animal1 tiene Cangrejo, animal2 Oso ... etc ... etc ...
- $nombre_animal=array('animal1'=>'Cangrejo', 'animal2'=>'Oso', 'animal3'=>'Lobo', 'animal4'=>'Ballena', 'animal5'=>'Caballo', '...');
- //accediendo así
- $nombre=$nombre_animal[$clave_animal];
PHP tiene un gran surtido de funciones para la utilización de arrays.
Documentación PHP.net
No hay comentarios:
Publicar un comentario