Ist es in PHP möglich, so etwas zu tun? Wie würdest du eine Funktion schreiben? Hier ist ein Beispiel. Die Reihenfolge ist das Wichtigste.Sortiert ein Array nach Schlüsseln, die auf einem anderen Array basieren?
$customer['address'] = '123 fake st';
$customer['name'] = 'Tim';
$customer['dob'] = '12/08/1986';
$customer['dontSortMe'] = 'this value doesnt need to be sorted';
Und ich möchte so etwas wie
$properOrderedArray = sortArrayByArray($customer, array('name', 'dob', 'address'));
tun, weil am Ende ich ein foreach() und sie sind nicht in der richtigen Reihenfolge (weil ich die Werte an eine anhängen String, der in der richtigen Reihenfolge sein muss und ich kenne nicht alle Array-Schlüssel/Werte im Voraus.
Ich habe die internen Array-Funktionen von PHP durchgesehen, aber es scheint, dass Sie nur alphabetisch oder numerisch sortieren können.
Es funktioniert gut, wenn Sie String-Tasten haben, aber nicht für die numerische Taste. PHP Docs: "Wenn die Eingabearrays die gleichen Zeichenfolgenschlüssel haben, überschreibt der spätere Wert für diesen Schlüssel den vorherigen. Wenn jedoch die Arrays numerische Schlüssel enthalten, überschreibt der spätere Wert nicht den ursprünglichen Wert, sondern wird angehängt. " – bolbol
Schön, aber was, wenn die Schlüssel nicht in den Werten existieren? Ich brauche das, aber nur, wenn einer der Schlüssel existiert ... Wahrscheinlich brauche ich eine foreach dann ... –
für meinen Fall ist es array_replace anstelle von array_merge. array_merge kombiniert beide Werte, anstatt das zweite Array in die geordneten Schlüssel zu ersetzen. – neofreko