Wie kann ich ein Array mit negativen ganzzahligen Schlüsselwerten neu indizieren, sodass das Element 0,1,2,3,-1 nach -1,0,1,2,3 sortiert und dann in 0,1,2,3 neu nummeriert wird? ,4?
P粉198670603
P粉198670603 2023-09-12 12:09:51
0
2
560

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粉198670603
P粉198670603

Antworte allen (2)
P粉441076405

我忍不住想知道您的目标是否只是在数组的开头插入一个值,也许您正在寻找array_unshift()

所以而不是

$arr[-1] = 'first';

...然后排序,你可以这样做

array_unshift($arr, 'first');

这会在索引0处插入'first'并将数组中每个现有的、按数字索引的项目向上移动一个。

    P粉107991030

    使用 ksort 对数组进行排序,然后应用array_values到它。它将重新索引从 0 开始的键:

    $arr = []; $arr[0] = 'second'; $arr[-1] = 'first'; ksort($arr); $result = array_values($arr);
      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!