help with multidimensional array

Hi, I’m a php learning and I cannot order an array in alphabetical order.
I have the following query:
$query = "SELECT service_id, partenza, arrivo
FROM “.$dbtblPrefix.”_pricings

ORDER BY service_id, partenza";
if (!($result = @ mysql_query($query, $connection))) show_db_error();
// query DB and save in array
while ($row = @ mysql_fetch_array($result)) {
$array_service_arrivo[ $row[‘service_id’] ][ $row[‘partenza’] ][] = $row[‘arrivo’] ;
}

And I get the following array (print_r):

Array ( [1] => Array ( [AM] => Array ( [0] => EN ) [DE] => Array ( [0] => JA [1] => IT [2] => KO ) [EN] => Array ( [0] => IL [1] => ZU [2] => LA [3] => SD [4] => ET [5] => GA [6] => ZH-s [7] => AM [8] => ARM [9] => CY [10] => SU [11] => MN [12] => DE [13] => HA [14] => KN [15] => GU [16] => TH [17] => KA [18] => BN [19] => IT [20] => TK [21] => KO [22] => XH [23] => PS [24] => NO [25] => ST [26] => LO [27] => AS [28] => ES [29] => PG [30] => JA [31] => PT [32] => KM [33] => PT-b [34] => MY [35] => OM [36] => OR [37] => NE [38] => HM [39] => RW [40] => RU [41] => FR [42] => IS [43] => SI [44] => KK [45] => LN [46] => SO [47] => TI ) [FR] => Array ( [0] => KO [1] => ES [2] => NO [3] => IT [4] => JA [5] => DE ) [IS] => Array ( [0] => EN ) [IT] => Array ( [0] => JA [1] => PT [2] => PT-b [3] => ZH-s [4] => RU [5] => DE [6] => FR [7] => EN [8] => NO ) [JA] => Array ( [0] => IT ) [KM] => Array ( [0] => EN ) [LO] => Array ( [0] => EN ) [MY] => Array ( [0] => EN ) [NE] => Array ( [0] => EN ) [NO] => Array ( [0] => FR ) [PG] => Array ( [0] => EN ) [PS] => Array ( [0] => EN ) [RU] => Array ( [0] => IT [1] => ZH-s ) [SI] => Array ( [0] => EN ) [SO] => Array ( [0] => EN ) [TI] => Array ( [0] => EN ) [TK] => Array ( [0] => EN ) [ZH-s] => Array ( [0] => IT [1] => ZH ) [ZU] => Array ( [0] => EN ) ) [2] => Array ( [EN] => Array ( [0] => IT [1] => BG [2] => DE [3] => ES [4] => NL [5] => SV [6] => RO [7] => CA ) [IT] => Array ( [0] => RO [1] => ES-a [2] => RU [3] => FR [4] => DE [5] => BG [6] => EN [7] => EN-a [8] => ES ) ) [3] => Array ( [IT] => Array ( [0] => RU [1] => DE [2] => FR [3] => ES [4] => EN ) ) )

where the elements are: 1) array with services (1,2,3) 2) array with source language, 3) array with target language

I want to order the target language in alphabetical order, so I have to decode the language code with a function:

$lingua = getLanguage($lang);

I cannot order the target language (that changes after decoding according to the language site) with the following code:
foreach($array_service_arrivo as $ser=> $ar_l_part ) {
$ordin=array();
foreach( $ar_l_part as $l_part=> $ar_l_arr ) {
$l_part2 []= $l_part;

foreach( $ar_l_arr //array di lingue arrivo
as $l_arr//posizione nell’array
=> $l_ar_code ) //codici lingue arrivo
{
$array_test[$ser][]= $l_ar_code;
$lingua = getLanguage($lang);
$ar_l_arr = $l_ar_code;
$ordin[$l_ar_code]=$lingua[$l_ar_code];
asort($ordin);
}
}//FOREACH PER ORDINARE
foreach($ordin as $ar_l_arr => $l_ar_code)
{
$lang_ord_arr=$ar_l_arr;
$array_test[$ser][]= $l_ar_code; // NON RIESCO A OTTENERE L’ARRAY COMPLETO CORRETTO

//FINE
}
}

Please help me!

Thank you in advance!

Look at your ORDER BY Clause:

ORDER BY service_id, partenza

Try this instead:

ORDER BY arrive

or

ORDER BY partenza

Basically order by which ever column contains target language.

Sponsor our Newsletter | Privacy Policy | Terms of Service