2 dim array nach namen sort.
Harty Hart
- php
0 Dieter Raber0 Harty0 Dieter Raber0 Harty
Hallo,
Ich möchte ein 2 dim. Array nach Namen Sortieren, jedoch steht der name nicht als erstes im Array sondern als zweites array[][1]
array[][0] ID
array[][1] NAME
array[][2] USW
im archiv habe ich nur gesehen wie einer die selbe frage gestellt hat wie ich bis zu dem punkt ob es nicht gleich aus der mysql abfrage möglich sei und mein problem ist aber, dass ich die mysql tabellen so gestaltet hab das NAME auch eine ID ist. In der Namenstabelle steht dann zu jeder ID der NAME und so ensteht mein array.
also ich möchte array[][1] alphabetisch sortieren. WIE?
Danke
Harty Hart ;-)
Hallo Harty Hart,
$mein_array[0][0] = 'berta';
$mein_array[0][1] = 'anton';
$mein_array[0][2] = 'dora';
$mein_array[0][3] = 'caesar';
$mein_array[0][4] = 'friedrich';
$mein_array[0][5] = 'emil';
print_r($mein_array);
gibt aus:
Array
(
[0] => Array
(
[0] => berta
[1] => anton
[2] => dora
[3] => caesar
[4] => friedrich
[5] => emil
)
)
//Sortieren, zB. mit natsort
natsort($mein_array[0]);
print_r($mein_array);
gibt jetzt aus:
Array
(
[0] => Array
(
[1] => anton
[0] => berta
[3] => caesar
[2] => dora
[5] => emil
[4] => friedrich
)
)
Dieter
Servus,
Das funktioniert so nicht!
ZB:
ARRAY
[0][0] = 112
[0][1] = Freddy
[0][2] = xyz
[1][0] = 018
[1][1] = Marta
[1][2] = xyz
[2][0] = 051
[2][1] = Paul
[2][2] = xyz
und ich möchte dieses array nicht nach NR sortieren sondern nach den Namen - array[][1] und nicht array[][0]
MfG
Harty
Hallo Harty,
Wie waer's damit:
$foo[0][0] = '051';
$foo[0][1] = 'Paul';
$foo[0][2] = 'xyz';
$foo[1][0] = '112';
$foo[1][1] = 'Freddy';
$foo[1][2] = 'xyz';
$foo[2][0] = '018';
$foo[2][1] = 'Marta';
$foo[2][2] = 'xyz';
print_r($foo);
foreach($foo as $key => $value)
{
$bar[$foo[$key][1]] = $foo[$key];
}
ksort($bar);
$foo = array();
foreach($bar as $key => $value)
{
$foo[] = $value;
}
print_r($foo);
Das kann man wahrscheinlich noch viel effizienter machen, aber das sit das erste, was mir eingefallen ist.
Dieter
Ja das prinzip ist eigentlich nur:
schleife
{
$hilf0 = array[][0]
$hilf1 = array[][1]
array[][0] = $hilf1
array[][1] = $hilf0
}
Danke!
Hallo,
Danke!
Kein Problem.
Dieter