Suposem que tenim un array amb codis postals.
Pe:
$st_codis_postals = array('08021' => 'Barcelona', 25520 => 'El Point de Suert (Lleida)', 17452 => 'Massanes (Girona)', // I així successivament );
Llavors volem afegir una entrada en la primera posició, ja que una plantilla d’Smarty utilitzarà l’array per a mostrar un combo.
Si afegim la clau 0, el que tindríem és:
‘08021’ => ‘Barcelona’,
25520 => ‘El Pont de Suert (Lleida)’,
17452 => ‘Massanes (Girona)’,
0 => ‘Triï la població’
Però les funcions que podem utilitzar per a fer un merge entre arrays o fer a afegir a la primera posició provoquen una reordenació de les claus numèriques.
Per tant no les podem fer servir, i fer servir un bucle per a això és exagerat i ineficient.
La solució, bastant simple, és fer:
$st_array_definitiva = array(0 => ‘Triï la població’) + $st_codis_postals;
Això farà la feina.
Només heu de vigilar de no tenir claus repetides ja que + afegeix les claus que no estan repetides.
![]() ![]() | Compartir: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Tags: PHP, Programació, smarty template engine
1.832 visualitzacions - versió en PDF