Gibt es einen "besseren" Weg (eingebaute Funktion, besserer Algorithmus), um den Fall aller Schlüssel in einem PHP-Array zu normalisieren? obwohl Looping und Erstellen eines neuen Arrays arbeitetNormalisieren Sie den Fall von Array-Schlüsseln in PHP
$new = array();
foreach($old as $key=>$value) {
$key = strToLower($key);
if(!array_key_exists($key,$new) {
$new[$key] = $value;
}
else {
throw new Exception('Duplicate Key Encountered');
}
}
aber es scheint, als ob diese ein Weg sein, sollte diese „in place“ zu tun.
Update: Es sieht so aus, als wäre ein eingebaut, der nicht täuschend benannt, aber irgendwie von mir verpasst array_change_key_case
. Ich würde immer noch interessante algorithmische Ansätze sehen, mit denen Sie besser mit dem umgehen können, was passiert, wenn Sie "doppelte" Schlüssel drücken.
Für den algorithmischen Ansatz würde ich mit der "pragmatischen" Version von soulmerge weiter unten gehen. – acrosman
[Dieser Beitrag] (http://blog.jterminal.com/2014/07/change-the-case-of-all-keys-in-an-array-with-array_change_key_case-function-in-php.html) erklärt, was Sie brauchen – Jasir