Sortieren Sie natürlich die Zeilen eines 2D -Arrays nach einer Spalte alphanumerischer WertePhp

PHP-Programmierer chatten hier
Anonymous
 Sortieren Sie natürlich die Zeilen eines 2D -Arrays nach einer Spalte alphanumerischer Werte

Post by Anonymous »

Ich suche nach einer benutzerdefinierten Funktion, die die Reihenfolge des Arrays respektiert und sie nach der Schlüsselschlüssel "Name" sortiert. 'StrCasecmp ()' hat die alphanuerischen Werte nicht versteht, wie Menschen sie lesen würden. Es hält 'Äpfel 12' ein geringer Wert als 'Äpfel 5'. Ich habe diese Methode ausprobiert, kann aber keine Funktion finden, um den alphanumerischen Wert zu vergleichen: < /p>

Code: Select all

$array = array(
0 => array(
'id' => 2,
'type' => 'Apples',
'name' => 'Apples 5',
),
1 => array(
'id' => 3,
'type' => 'Grapes',
'name' => 'Apples',
),
2 => array(
'id' => 4,
'type' => 'Apples',
'name' => 'Apples 4',
),
3 => array(
'id' => 5,
'type' => 'Grapes',
'name' => 'Apples 01',
),
4 => array(
'id' => 6,
'type' => 'Apples',
'name' => 'Apples 1',
),
5 => array(
'id' => 7,
'type' => 'Grapes',
'name' => 'Apples 12',
)
);

uasort($array, function($a, $b) {
return strcasecmp($a['name'], $b['name']);
});

foreach($array as $single) {
echo $single['name'].'
';
}
< /code>
Unerwartetes Ergebnis aus dem obigen Code: < /p>
Apples
Apples 01
Apples 1
Apples 12
Apples 4
Apples 5
< /code>
Das Ergebnis, das ich erreichen wollte: < /p>
Apples
Apples 01
Apples 1
Apples 4
Apples 5
Apples 12

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post