Sortiert ein array-Wert vor der foreach -
Ich habe ein dropdown-Menü, die müssen sortiert werden alphabeticaly von Namen.
Hier ist der code
<?php foreach ($option['option_value'] as $option_value) { ?>
<option value="<?php echo $option_value['product_option_value_id']; ?>"><?php
echo $option_value['name'];
if ($option_value['price']) {
?>(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)<?php
}
?>
</option>
<?php
}
?>
Möchte ich die $option_value sortiert werden, durch die $option_value['name']. Wie kann ich das erreichen ?
Update
Mithilfe der sort () - oder asort (), bevor nicht das problem zu beheben, die Bestellung, die ich bekomme, ist
<option value="14598">Medium - red (0588390) [0] </option>
<option value="14599">large - WHITE (0592167) [1] </option>
<option value="14600">Medium - WHITE (0592168) [3] </option>
<option value="14601">large - THE ROYALS (0592169) [0] </option>
<option value="14602">Medium - THE ROYALS (0592170) [2] </option>
Irgendwie durch den Wert ID, aber ich muss sortiert werden, indem Sie den Namen
- php.net/manual/en/array.sorting.php
- gut, Sortieren es, bevor es zu benutzen?!
- verwenden usort() vor die Schleife
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies, bevor Sie Ihre foreach:
$option
nicht Aussehen wie Sie präsentiert in der Frage.$option['option_value']
also das ist das array sortiert werden, nicht$option
.$option['option_value']
ist das array mit option Werte und es muss sortiert werden, bevor diefor...each
:Iteriere nach wie vor:
Finden Sie hier
die Sie direkt verwenden können
asort
Funktion
asort($option['option_value'])
oder andere von Optionen, die Sie jemals das Gefühl machbar für Sie.asort Sortieren-array basierend auf den ersten spalteneintrag ich.e wenn Ihre innere arrays erste Schlüssel ist
name
wird es helfen