Ciao ho un array con numeri decimali vorrei ordinarlo numericamente in maniera crescente uso questo codice
Codice PHP:
//stringa contenete i numeri separati da virgola ( e con un punto per i decimali )che devo ordinare
$dist = $_POST['dist'];
$distarr2 = explode(",", $dist);
foreach($distarr2 as $d) {
$dd[]=floatval($d);
$cc[]=floatval($d);
}
natsort($dd);
$tarray = array_values($dd);
$ddd = implode(",", $tarray);
echo $ddd;
//echo $dist;
ma non funziona perchè se stampo i vari array ecco i vari output
//dist
//1011929.8698240459,1013083.6584687544,1019959.4701 86285,1013788.5067740665,1013771.0809004005,101308 7.1826713554,1010789.8200816757,1011576.1866657531 ,1011472.2603063541,1013800.7154334215
//ddd
//1010781.6073142,1011464.0463331,1011567.9829161,10 11921.6361273,1013075.4308976,1013078.9365951,1013 762.8485323,1013780.2628887,1013792.479234,1019951 .2870267
//$tarray
//1010780.0219038,1011462.4602769,1011566.4023321,10 11920.0394951,1013073.8375526,1013077.333312,10137 61.2526133,1013778.6607835,1013790.881258,1019949. 7174436
il problema non è ne l'ordinamento dell'array ma nell'ordinare il primo array in base al nuovo array che faccio con questo codice
for ($i=0; $i<=count($tarray); $i++){
for ($ii=0; $ii<=count($cc); $ii++){
if($tarray[$i]==$cc[$ii]){
$index[]=$ii;
}
}
}
come faccio ad ottenere le chiavi dell'array ordinato e quindi poi cambiare l'ordine dei record nella pagina qui
Codice PHP:
if($_GET['ordinedistanzeses']){
$ordine2 =$_GET['ordinedistanzeses'];
$ordine = explode(",", $ordine2);
}
for ($ii = 0; $ii < $count; $ii++) {
if($_GET['ordinedistanzeses']){
$e=$ii;
$i =$ordine[$e];
}else{
$i =$ii;
}
//echo "$i=".$i;
$subject = $this->subjectTable;
/* @var $subject TableSubject */
$subject->bind($this->items[$i]);
$subject->children = $this->items[$i]->children;
vi ringrazio se mi autate!!