Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie Array-Schlüssel so, dass sie in PHP bei 1 beginnen

So konvertieren Sie Array-Schlüssel so, dass sie in PHP bei 1 beginnen

PHPz
PHPzOriginal
2023-04-26 10:27:40655Durchsuche

In PHP beginnt der Standardschlüsselwert des Arrays bei 0, was aufgrund der Art des Arrays in der C-Sprache vererbt wird. In einigen Szenarien müssen wir jedoch den Schlüsselwert des Arrays bei 1 beginnen, damit für die Logik und Lesbarkeit des Programms.

Wie konvertiert man also den Schlüsselwert eines PHP-Arrays von 0 in 1? Hier sind einige mögliche Methoden:

Methode 1: Verwenden Sie eine Schleife zum Neuzuweisen

Die einfachste Methode besteht darin, eine Schleife zu verwenden, um 1 zum Schlüsselwert jedes Elements im Array hinzuzufügen. Zum Beispiel:

$newArray = array();
foreach ($oldArray as $key => $value) {
    $newArray[$key+1] = $value;
}

Diese Methode erstellt ein neues Array und benötigt daher zusätzlichen Speicherplatz. Wenn Sie außerdem die Schlüsselwerte des Arrays verwenden, um neue Schlüsselwerte in einer Schleife zu berechnen, müssen Sie darauf achten, dass das Array außerhalb der Grenzen liegt.

Methode 2: Verwenden Sie die Funktionen array_combine() und range()

Eine andere Methode besteht darin, die Funktionen array_combine() und range() zu verwenden. Die Funktion range() kann einen Satz numerischer Sequenzen generieren, und die Funktion array_combine() kann diese numerischen Sequenzen als Schlüsselwerte mit den Werten des alten Arrays zu einem neuen Array kombinieren. Zum Beispiel:

$newArray = array_combine(range(1, count($oldArray)), $oldArray);

Diese Methode erfordert keine Schleife, ist also schneller als die erste Methode und die Schlüsselwerte des neu generierten Arrays sind kontinuierlich. Wenn die Schlüsselwerte des alten Arrays jedoch bereits aufeinanderfolgend sind, kann die Verwendung dieser Methode zu anderen Ergebnissen als erwartet führen.

Methode 3: Verwenden Sie die Funktion array_map()

Die Funktion array_map() kann eine Rückruffunktion für jedes Element im Array ausführen und ein neues Array zurückgeben. Mit dieser Funktion können Sie den Schlüsselwert eines Elements um 1 erhöhen. Zum Beispiel:

$newArray = array_map(function($value, $key) {
    return array($key+1 => $value);
}, $oldArray, array_keys($oldArray));
$newArray = array_reduce($newArray, 'array_merge', array());

Diese Methode erfordert keine Schleife, aber der Code ist komplizierter. Wenn Sie die Funktion array_map() verwenden, müssen Sie die Schlüssel und Werte des alten Arrays verarbeiten und außerdem die Funktion array_reduce() verwenden, um die zurückgegebenen zweidimensionalen Arrays in einem neuen Array zusammenzuführen.

Methode 4: Verwenden Sie die Funktion array_values(). Die Funktion array_values() kann alle Werte im Array zurückgeben und als Index-Arrays speichern. Die Indexschlüssel des neuen Arrays sind automatisch generierte numerische Indizes durch diese Funktion Ein neues 1-basiertes Array. Zum Beispiel:

$newArray = array_values($oldArray);

Diese Methode ist relativ einfach und erfordert keinen von Ihnen selbst geschriebenen Code. Die Schlüsselwerte des zurückgegebenen neuen Arrays sind ebenfalls fortlaufende Zahlen.

Zusammenfassung

Die oben genannten vier Möglichkeiten zum Konvertieren von PHP-Array-Schlüsselwerten von 0 auf 1. Jede Methode hat ihre Vor- und Nachteile. Bei der Auswahl der zu verwendenden Methode sollte eine Einzelfallentscheidung getroffen werden. Unter diesen sind die ersten beiden Methoden die einfachsten und am häufigsten verwendeten Methoden, während die letzte Methode einfach ist, aber Aufmerksamkeit auf die tatsächlichen Anwendungsszenarien kontinuierlicher Schlüsselwerte und Indexarrays erfordert.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Array-Schlüssel so, dass sie in PHP bei 1 beginnen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn