Ordinare array multidimensionali

  • Creatore Discussione Creatore Discussione c02y
  • Data di inizio Data di inizio

c02y

Utente Attivo
30 Nov 2012
30
0
0
Come sempre chiedo aiuto a voi :)

Devo ordinare un array multidimensionale. I dati che invio tramite form, venogono salvati un un array multidimensionali, e poi devo stampare l'array ordinandolo in base all'ultimo parametro (CFU)

Questa è la form:

HTML:
	<table border=2>
						
								<tr>		<td colspan=3 align=center> <b>Inserimento dati corsi</b>	</tr>
								
								<tr>		<td> Docente	<td>Corso		<td> <b> CFU </b>		</tr>
						
										<form method=post action=php_24.php>
								
								<tr>		<td>	<input type=text name=docente[]>		<td>	<input type=text name=corso[]>		<td>	<select name=cfu[]>	<option value=1>1 <option value=2>2 <option value=3> 3 <option value=4> 4 <option value=5> 5 <option value=6> 6		</select>			</tr>
								
								<tr>		<td>	<input type=text name=docente[]>		<td>	<input type=text name=corso[]>		<td>	<select name=cfu[]>	<option value=1>1 <option value=2>2 <option value=3> 3	<option value=4> 4 <option value=5> 5 <option value=6> 6	</select>			</tr>
								
								<tr>		<td>	<input type=text name=docente[]>		<td>	<input type=text name=corso[]>		<td>	<select name=cfu[]>	<option value=1>1 <option value=2>2 <option value=3> 3	<option value=4> 4 <option value=5> 5 <option value=6> 6	</select>			</tr>
								
								<tr>		<td>	<input type=text name=docente[]>		<td>	<input type=text name=corso[]>		<td>	<select name=cfu[]>	<option value=1>1 <option value=2>2 <option value=3> 3	<option value=4> 4 <option value=5> 5 <option value=6> 6	</select>			</tr>	
								
								<tr>		<td>	<input type=text name=docente[]>		<td>	<input type=text name=corso[]>		<td>	<select name=cfu[]>	<option value=1>1 <option value=2>2 <option value=3> 3	<option value=4> 4 <option value=5> 5 <option value=6> 6	</select>			</tr>

								
								
								
								<tr>		<td colspan=3 align=center>	<input type=submit value=Invia>		<input type=reset value=Cancella>	</tr>
						
						
										</form>
						 
						</table>


Qui ho l'altra parte di codice. Stavo pensando di usare usort. Ma non riesco nell'impresa.

So che usort si prende due parametri, una funzione( da me creata) e l'array sul quale operare.

PHP:
<?php
				
				
					
						for ($i=0; $i<5; $i++ )
	
						{
							$docente['$i']=$_POST['docente'][$i];
							$nomedocente = $docente['$i'];
							
							$corso['$i']=$_POST['corso'][$i];
							$nomecorso  = $corso['$i'];
							
							$cfu['$i']=$_POST['cfu'][$i];
							$valore_cfu= $cfu['$i'];

							$finale["$nomedocente"]["$nomecorso"]="$valore_cfu";

						}
				
				function ordina($x,$y)
							
							{
								if ($x[2]==$y[2])
								return 0;
								else if ($x[2]<$y[2])
								return -1;
								else
								return 1;
							}
							
			usort($finale,'ordina');
			print_r($finale);
		
		
		?>

Il dovrebbe essere la funzione, che tra l'altro ho trovato su internet...
 
Ultima modifica di un moderatore:

Discussioni simili