PHP-Code:
Array (
[0] => Array (
[id] => 1
[name] => Apfel
)
[1] => Array (
[id] => 4
[name] => Motorhaube
)
[2] => Array (
[id] => 3
[name] => Cornflakes
)
)
Zitat:
|
Möchte nun, dass das Unter-Array mit name=Cornflakes im Hauptarray an erster Stelle steht.
|
Und zwar so, dass das Unterarray mit "Conflakes" in jedem Fall an erster Stelle im Hauptarray steht.
Grund:
Man kennt das doch -> Edit-Seite im Admin-Menu und man möchte einen Eintrag aus der DB durch das Edit-Formular abändern.
Da gibts ein Pulldown für die Auswahl der Kategorien, denen der Artikel zugeordnet werden kann.
Nun wird das Pulldown ja ebenfalls durch Abfrage des Kategorie-Tables erzeugt. Wie bekomm ich jetzt also das Pulldown auf dieser Edit-Seite standardmäßig auf die beim erstmaligen Eintrag gewählte Kategorie für den Artikel eingestellt ?
Klar geht das mit Javascript - aber das ist hässlich........
Andere Möglichkeit - das Array mit den Kategorien aus der DB umsortieren - und zwar jenseits von logischen Sortierungsmechnismen wie sie für php-arrays geboten werden.
Daher funktioniert folgendes gut:
PHP-Code:
$n_array[0] = "";
// Ersten Eintrag schonmal definieren, damit jeder "push" in der Schleife erst ab $n_array[1] erfolgt und $n_array[0] NUR durch ein TRUE der Bedingung überschrieben werden kann.
//Dann, wie von akratellio vorgeschlagen:
foreach($array as $k => $v){
if($v['name'] == 'Cornflakes'){
$n_array[0] = $v;
}
else{
$n_array[] = $v;
}
}
ksort($n_array);
print_r($n_array);
Klappt subba !
Besten Dank !