Heim > Fragen und Antworten > Hauptteil
Angenommen, ich habe Folgendes:
$arr = []; $arr[0] = 'second'; $arr[-1] = 'first';
So ändern Sie es in $arr[0 => 'first', 1 => 'second']
Das ist das Beste, was ich mir ausgedacht habe:
$new = []; foreach ($arr as $key => $value) { $new[$key + 1] = $value; } ksort($new);
Aber wie bei Arrays in PHP frage ich mich, ob es tatsächlich eine einfache integrierte Funktion gibt, die ich verwenden kann?
P粉4410764052023-09-13 10:23:40
我忍不住想知道您的目标是否只是在数组的开头插入一个值,也许您正在寻找array_unshift()
?
所以而不是
$arr[-1] = 'first';
...然后排序,你可以这样做
array_unshift($arr, 'first');
这会在索引 0
处插入 'first'
并将数组中每个现有的、按数字索引的项目向上移动一个。
P粉1079910302023-09-13 10:07:27
使用 ksort 对数组进行排序,然后应用 array_values到它。它将重新索引从 0 开始的键:
$arr = []; $arr[0] = 'second'; $arr[-1] = 'first'; ksort($arr); $result = array_values($arr);