Tableau copier les valeurs dans les clés en PHP [dupliquer]
Cette question a déjà une réponse ici:
- Créez un tableau assoc avec des clés et des valeurs égales à partir d'un tableau régulier 3 réponses
J'ai ce tableau:
$a = array('b', 'c', 'd');
Existe-t-il une méthode simple pour convertir le tableau en ce qui suit?
$a = array('b' => 'b', 'c' => 'c', 'd' => 'd');
2 réponses
$final_array = array_combine($a, $a);
P. S.
* soyez prudent avec des valeurs similaires. Exemple:
array('one','two','one')
peut être problématique si converti comme des clés en double:
array('one'=>..,'two'=>..,'one'=>...)
Attention, la solution proposée avec $a = array_combine($a, $a);
NE FONCTIONNERA PAS pour les valeurs numériques.
Je voulais par exemple avoir une mémoire array(128,256,512,1024,2048,4096,8192,16384)
pour être les clés ainsi que les valeurs mais le manuel PHP indique:
Si les tableaux d'entrée ont les mêmes clés de chaîne, la valeur ultérieure de cette clé écrasera la précédente. Si, cependant, les tableaux contiennent des clés numériques, la valeur ultérieure n'écrasera pas la valeur d'origine, mais sera ajoutée.
Donc je l'ai résolu comme ce:
foreach($array as $key => $val) {
$new_array[$val]=$val;
}