2017-08-30 1 views
0

j'ai un tableau comme ceci:Laravel/PHP ajouter des clés aux valeurs

[5, 2, 9] 

Cependant, je besoin de ce tableau:

[0 => 5, 1 => 2, 2 => 9] 

donc j'ai besoin l'index comme clé. Y a-t-il une fonction pour y parvenir? Maintenant, je crée un tableau vide manuellement et j'utilise array_push via une boucle foreach. Cela fonctionne, mais cela ne semble pas élégant.

Existe-t-il une meilleure solution?

Répondre

2
$array = [5, 2, 9]; 

print_r($array); 

sorties:

Array 
(
    [0] => 5 
    [1] => 2 
    [2] => 9 
) 
1

si vous imprimez tableau en boucle, vous pouvez voir par défaut clé

$arr=[5, 2, 9]; 
foreach($arr as $key=>$val){ 
    echo 'Key='.$key.','.'val='.$val.'<br/>'; 
} 

SORTIE

Key=0,val=5 
Key=1,val=2 
Key=2,val=9 

Aussi, si vous écho en utilisant la clé comme

$arr=[5, 2, 9]; 

echo $arr[1]; 

sortie

2 
0

Utilisez array_combine,

Dans un premier temps, créer un tableau de valeurs,

$values = array(5, 2, 9); 

Maintenant, créez un tableau de clés,

$keys = array(0, 1, 2); 

Après cela, combiner deux tableau pour obtenir résultat,

$result = array_combine (array $keys , array $values); 
+0

Désolé, une erreur typographique dans ma question. Il devrait être 0 1 2 –

+0

@BrentThierens Cela fonctionnera pour votre cas, puisque vous avez déjà deux tableaux. Donc, il suffit de combiner deux tableaux. –

0

Votre tableau a déjà les clés en fonction de sa position dans le tableau

$test = [5, 2, 9]; 


print_r($test); 

Array ([0] => 5 [1] => 2 [3] => 9) 

echo $test[0]; = 5 
echo $test[1]; = 2 
echo $test[3]; = 9 
+0

Exactement, les tableaux ont déjà des index comme 0,1,2. Pour les cas personnalisés, nous avons des index d'insertion. –