Heim > Backend-Entwicklung > PHP-Problem > PHP-Keyless-Array-Konvertierung

PHP-Keyless-Array-Konvertierung

PHPz
Freigeben: 2023-05-07 15:10:10
Original
452 Leute haben es durchsucht

In PHP verwenden wir normalerweise Arrays, um eine Reihe zusammengehöriger Daten zu speichern oder zu verwalten. Manchmal müssen wir ein schlüsselloses Array (also ein Array ohne angegebenen Index) in ein schlüsselbasiertes Array konvertieren. In diesem Artikel wird erläutert, wie Sie ein Array ohne Schlüssel in ein Array mit Schlüssel konvertieren.

1. Warum müssen Sie ein schlüsselloses Array in ein schlüsselbasiertes Array konvertieren?

In PHP können Arrays numerische Indizes oder String-Indizes verwenden, um auf die darin enthaltenen Elemente zuzugreifen. Wenn wir numerische Indizes verwenden, weist PHP den Elementen in der Reihenfolge, in der sie im Array erscheinen, einen Standardindex zu. Wenn wir jedoch ein Array sortieren, durchsuchen oder anderweitig bearbeiten müssen, müssen wir benutzerdefinierte Indizes verwenden. Wenn das Array zu diesem Zeitpunkt keinen Index angibt, muss es in ein Schlüsselarray konvertiert werden.

2. Verwenden Sie die Funktion array_combine(), um ein schlüsselloses Array in ein verschlüsseltes Array umzuwandeln.

PHP bietet eine Funktion array_combine(), um zwei Arrays zu einem Array zu kombinieren. Der erste Parameter der Funktion array_combine() ist das Array, das als Schlüsselname verwendet wird, und der zweite Parameter ist das Array, das als Schlüsselwert verwendet wird. Wenn die Anzahl der Elemente in den beiden Arrays nicht gleich ist, gibt die Funktion array_combine() false zurück.

Wenn wir ein schlüsselloses Array in ein schlüsselbasiertes Array konvertieren möchten, können wir zunächst ein neues Schlüsselarray erstellen und dann die Funktion array_combine() aufrufen, um es mit dem ursprünglichen Array zu kombinieren.

Das Folgende ist ein Beispielcode zum Konvertieren eines schlüssellosen Arrays in ein schlüsselbasiertes Array:

$arr = [10, 20, 30, 40, 50]; // 无键数组
$keys = range(1, count($arr)); // 创建新的键名数组

$new_arr = array_combine($keys, $arr); // 将新的键名数组和原数组组合

print_r($new_arr); // 输出有键数组
Nach dem Login kopieren

Ausgabeergebnis:

Array
(
    [1] => 10
    [2] => 20
    [3] => 30
    [4] => 40
    [5] => 50
)
Nach dem Login kopieren

3. Weisen Sie Array-Elementen Schlüsselnamen basierend auf ihrem Typ zu.

Manchmal können wir ihnen auch Schlüsselnamen zuweisen Array-Elemente basierend auf ihrem Typ. Der Typ weist ihm einen Schlüsselnamen zu. Wenn es sich bei den Elementen im Array beispielsweise um Zeichenfolgen handelt, können Sie die Zeichenfolge als Schlüsselnamen verwenden. Wenn es sich bei den Elementen um Ganzzahlen oder Gleitkommazahlen handelt, können Sie den Elementwert als Schlüsselnamen verwenden.

Das Folgende ist ein Beispielcode zum Konvertieren eines Keyless-Arrays in ein Keyed-Array:

$arr = ['apple', 'banana', 'orange']; // 无键数组
$new_arr = [];

foreach ($arr as $key => $value) {
    if (is_string($value)) { // 如果元素是字符串
        $new_arr[$value] = $value; // 使用字符串作为键名
    } else { // 如果元素是数字
        $new_arr[$value] = $value; // 使用元素值作为键名
    }
}

print_r($new_arr); // 输出有键数组
Nach dem Login kopieren

Ausgabeergebnis:

Array
(
    [apple] => apple
    [banana] => banana
    [orange] => orange
)
Nach dem Login kopieren

4. Fazit

Oben wird beschrieben, wie ein Keyless-Array in ein Keyed-Array konvertiert wird. Durch die Verwendung der Funktion array_combine() und die Zuweisung von Schlüsseln basierend auf Elementtypen können wir schlüssellose Arrays einfach verarbeiten und in schlüsselbasierte Arrays konvertieren. In praktischen Anwendungen können Sie je nach Situation eine geeignete Methode zur Verarbeitung von Arrays auswählen.

Das obige ist der detaillierte Inhalt vonPHP-Keyless-Array-Konvertierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage