Maison > Questions et réponses > le corps du texte
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 ?
P粉4410764052023-09-13 10:23:40
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
$arr[-1] = 'first';
... alors triez, vous pouvez faire ça
array_unshift($arr, 'first');
Ce sera à l'index 0
处插入 'first'
et déplacera chaque élément existant, indexé numériquement dans le tableau, vers le haut d'un.
P粉1079910302023-09-13 10:07:27
Utilisez ksort pour trier le tableau, puis appliquez-y array_values. Il réindexera les clés à partir de 0 :
$arr = []; $arr[0] = 'second'; $arr[-1] = 'first'; ksort($arr); $result = array_values($arr);