ordinamento array multidimensionale per un valore ottenuto tramite una funzione

ely2402

Nuovo Utente
3 Mag 2013
1
0
0
Ciao a tutti, sono nuova in php e ho un array che non riesco ad ordinare alfabeticamente partendo dai codici delle lingue che estraggo:

la query è:

PHP:
	$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'] ;
	}

Da cui ottengo il seguente array multidimensionale, dove per ogni servizio (1,2,3) ottengo un array con lingua di partenza che a sua volta contiene un array con lingua di arrivo:


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 ) ) )

Le lingue di arrivo (ultimo array) devono essere ordinate alfabeticamente in base alla lingua: l'ordinamento sarà diverso in base alla lingua nella quale si vuole visualizzare il sito.
La funzione che uso per ottenere il nome della lingua in base a quella del sito è:

$lingua = getLanguage($lang);

Con il seguente codice non riesco a ricostruire l'array corretto dopo l'ordinamento in base al nome della lingua:

PHP:
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 
}
}

Vi ringrazio per l'aiuto
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
un po' confuso, per vedere se ho capito cosa devi fare ti faccio un esempio ridotto limitato agli indici [1] [DE] [].
a te risulta
Codice:
$array_service_arrivo[1][DE][0] => JA
$array_service_arrivo[1][DE][1] => IT 
$array_service_arrivo[1][DE][2] => KO
e vuoi invece che ti venga ordinato così
Codice:
$array_service_arrivo[1][DE][0] => KO
$array_service_arrivo[1][DE][1] => IT 
$array_service_arrivo[1][DE][2] => JA
cioè ogni array di array deve essere ordinato alfabeticamente secondo il suo valore di lingua.
è giusto?

dimenticavo:
se non vedo male sono gia ordinati per il secondo indice (dalla query)

p.s.
quando scrivi del codice usa gli appositi tag (seconda riga di formattazione del post ultime tre iconcine, nell'ordine CODE, HTML, PHP)
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
M ordinamento array file txt in base al contenuto PHP 1
M Problema ordinamento array PHP 4
M Ordinamento Array PHP 3
P Sort di un array da ordinamento fisso PHP 4
E Ordinamento file decrescente PHP 5
L risolto visualizzazione e ordinamento dati PHP 1
D [ASP] ordinamento query Classic ASP 2
P [PHP] Ordinamento DB multitabellare PHP 2
D Mysql ordinamento risultati MySQL 4
P problema di ordinamento MySQL 17
StarFish Ordinamento vettore C++ C/C++ 2
felino Ordinamento dinamico degli elementi visualizzati PHP 6
R ordinamento immagini con drag and drop e memorizzazione db PHP 1
Monital Rinominare le chiavi del multiarray dopo il suo ordinamento PHP 0
E JQRY + XML piccola rubrica con ordinamento e raggruppamento jQuery 1
D Ordinamento div HTML e CSS 12
A ordinamento PHP o MySql PHP 2
Monital Ordinamento colonne PHP 40
H Ordinamento dati da xml Flash 0
H Piccola applicazione per News con Php, Xml e Flash: problema ordinamento. XML 0
N Ordinamento in PHP PHP 5
Z query sql e script php per ordinamento dati tabella PHP 2
P Ordinamento colonne PHP 2
G Miglior ordinamento delle voci in un file css? HTML e CSS 3
M URGENTE: ORDINAMENTO LESSICOGRAFICO STRINGHE CON MERGESORT ricorsivo IN C (non C++) C/C++ 1
N Ordinamento Dati Database Classic ASP 2
otto9due Leggere valore da array multidimensionale a chiavi dinamiche PHP 1
M Passaggio variabili array php su un tasto jq PHP 3
M Somma inversa di Array C/C++ 2
MarcoGrazia Iterazione array PHP 5
N Passare array da php a javascript PHP 5
G Ordinare un array multidimensionale PHP 4
H Errore su array associativo PHP 1
K Array senza ripetizioni Presentati al Forum 4
A Gestione array multidimensionale PHP 6
otto9due Più chiavi in array con array_key_exists() PHP 0
M Array associativi php su 2 campi mysql PHP 10
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L Sessione e array per utenti PHP 0
R Importazione csv su mysql tramite array PHP 2
elpirata Ricavare e stampare indirizzo ip da array associativo PHP 0
P Ciclare tra array di oggetti PHP 1
R Raggruppare valori array PHP 5
S Come conoscere la posizione di numeri in un array escludendo i doppioni PHP 4
D Popolare array PHP 8
R Includere elementi array fra apici PHP 1
P Array da foreach PHP 2
N Variabile di sessione è un array PHP7 PHP 3
R Scorporare array e recuperare record tabella PHP 10

Discussioni simili