Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich Schlüsseltypen beim Zusammenführen von Arrays in PHP beibehalten?

Wie kann ich Schlüsseltypen beim Zusammenführen von Arrays in PHP beibehalten?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-12 14:51:01528Durchsuche

How Can I Preserve Key Types When Merging Arrays in PHP?

Beibehalten von Schlüsseltypen während der Array-Zusammenführung in PHP

In PHP müssen Sie möglicherweise zwei Arrays kombinieren und dabei die ursprünglichen String- und Integer-Indizes beibehalten. Allerdings indiziert die Standardfunktion array_merge() das resultierende Array mit aufeinanderfolgenden Ganzzahlen neu.

Originalcode mit Problem

// Array with string-indexed pairs
$staticIdentifications = [
    'userID'   => 'USERID',
    'username' => 'USERNAME'
];

// Array with integer-indexed pairs
$companyVarIdentifications = CompanyVars::getIdentificationVarsFriendly($_SESSION['companyID']);

// Unsuccessful Attempt to Merge with Preserved Key Types
$idVars = array_merge($staticIdentifications, $companyVarIdentifications);

Lösung: Array-Hinzufügen

Um die Schlüsseltypen beizubehalten Verwenden Sie während der Zusammenführung den Operator anstelle von array_merge():

$idVars = $staticIdentifications + $companyVarIdentifications;

Dieser Vorgang verkettet die beiden Arrays unter Beibehaltung ihrer jeweiligen Schlüsseltypen. Das resultierende $idVars-Array enthält sowohl Zeichenfolgen- als auch Ganzzahlschlüssel und spiegelt die ursprünglichen Strukturen der Eingabearrays wider.

Vorteile der Array-Addition

Array-Addition im Gegensatz zu array_merge():

  • Behält die ursprünglichen Schlüsseltypen bei, die für die Aufrechterhaltung der Zuordnungen zwischen Schlüsseln und Werten von entscheidender Bedeutung sind.
  • Vermeidet unerwartete Neuindizierungen, die Verweise auf Array-Elemente basierend auf ihren Indizes zerstören können.
  • Bietet ein einfacherer und unkomplizierterer Ansatz zur Array-Verkettung.

In diesem speziellen Fall verfügt das $idVars-Array sowohl über Zeichenfolgenschlüssel (z. B. „userID“) als auch über Ganzzahlschlüssel (z. B. 123), was dies ermöglicht Zugriff auf Werte basierend auf beiden Schlüsseltypen.

Das obige ist der detaillierte Inhalt vonWie kann ich Schlüsseltypen beim Zusammenführen von Arrays in PHP beibehalten?. 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