Supposons que j'ai ceci :
$arr = []; $arr[0] = 'second'; $arr[-1] = 'first';
Comment le changer en $arr[0 => 'first', 1 => 'second']
C'est le meilleur que j'ai trouvé :
$new = []; foreach ($arr as $key => $value) { $new[$key + 1] = $value; } ksort($new);
Mais comme pour les tableaux en php, je me demande s'il existe réellement une simple fonction intégrée que je peux utiliser ?
Je ne peux m'empêcher de me demander si votre objectif est simplement d'insérer une valeur au début du tableau, c'est peut-être ce que vous recherchez
array_unshift()
?Donc au lieu de
... alors triez, vous pouvez faire ça
Ce sera à l'index
0
处插入'first'
et déplacera chaque élément existant, indexé numériquement dans le tableau, vers le haut d'un.Utilisez ksort pour trier le tableau, puis appliquez-y array_values. Il réindexera les clés à partir de 0 :