Normalisieren Sie den Fall von Array-Schlüsseln in PHP

7

Gibt es einen "besseren" Weg (eingebaute Funktion, besserer Algorithmus), um den Fall aller Schlüssel in einem PHP-Array zu normalisieren? Looping und das Erstellen eines neuen Arrays funktioniert jedoch

%Vor%

Aber es scheint, als sollten diese eine Möglichkeit sein, dies "an Ort und Stelle" zu tun.

Update : Es sieht so aus als wäre da ein eingebauter, der von mir noch nicht täuschend benannt wurde, aber irgendwie vermisste array_change_key_case . Ich wäre immer noch interessant, algorithmische Ansätze zu sehen, mit denen Sie besser mit dem umgehen können, was passiert, wenn Sie "doppelte" Schlüssel drücken.

    
Alan Storm 21.07.2009, 20:36
quelle

5 Antworten

13

Ich glaube, array_change_key_case macht das, wonach Sie suchen.

Ссылка

    
acrosman 21.07.2009, 20:43
quelle
4

Ich fand, dass eingebaute Funktionen viel schneller sind als Schleifen, wenn große Arrays verarbeitet werden. Dies könnte tun, was Sie wollen (ungetesteter Code):

%Vor%

BEARBEITEN Oder der pragmatische Ansatz (sollte viel schneller sein):

%Vor%     
soulmerge 21.07.2009 21:04
quelle
3

Sie könnten array_change_key_case () verwenden. Dies kann dazu führen, dass Array-Schlüssel überschrieben werden. Daher sollten Sie die Array-Größen mithilfe von count() vergleichen, bevor und nachdem Sie die Groß- / Kleinschreibung geändert haben. Aufgrund der counts () bin ich mir nicht sicher, ob diese Methode Ihnen eine bessere Leistung bringen würde oder nicht, Sie müssten sie vergleichen.

%Vor%     
zombat 21.07.2009 20:43
quelle
0
%Vor%     
Frank Farmer 21.07.2009 20:43
quelle
0

Unterstützung für mehrdimensionale Arrays, inspiriert von diesem PHP-Handbuchkommentar :

%Vor%

Für eine bessere Leistung wird die native array_change_key_case () verwendet PHP-Funktion.

    
Frosty Z 14.12.2011 14:38
quelle

Tags und Links