problema con sort e asort

napuleone

Utente Attivo
12 Nov 2014
76
0
6
codice semplice ma non mi funziona
Codice:
$Bfile[]= "mcheck.20210219.dat";    
$Bfile[]= "mcheck.dat";    
echo print_r($Bfile);
echo "\r\n SORT ";
sort($Bfile);
echo print_r($Bfile);
echo "\r\n ASORT ";
asort($Bfile);  
echo print_r($Bfile);

risultato
Array
(
    [0] => mcheck.20210219.dat
    [1] => mcheck.dat
)
1
SORT Array
(
    [0] => mcheck.20210219.dat
    [1] => mcheck.dat
)
1
ASORT Array
(
    [0] => mcheck.20210219.dat
    [1] => mcheck.dat
)
 
Ciao in che senso non ti funziona direi che li ordina correttamente mettendo i numeri prima delle lettere, inoltre se vuoi ordinare un array non è per forza necessario usare le funzioni sort puoi scambiare i valori....per farti capire allego codice
Codice:
<?php
$Bfile[]= "mcheck.dat";   
$Bfile[]= "mcheck.20210219.dat";   
 
echo print_r($Bfile);
echo "<br>";
echo "\r\n SORT ";

sort($Bfile);
echo print_r($Bfile);
echo "<br>";

echo "\r\n ASORT ";
asort($Bfile ); 
echo print_r($Bfile);

?>

Array ( [0] => mcheck.dat [1] => mcheck.20210219.dat ) 1
SORT Array ( [0] => mcheck.20210219.dat [1] => mcheck.dat ) 1
ASORT Array ( [0] => mcheck.20210219.dat [1] => mcheck.dat ) 1
 
Ciao in che senso non ti funziona direi che li ordina correttamente mettendo i numeri prima delle lettere, inoltre se vuoi ordinare un array non è per forza necessario usare le funzioni sort puoi scambiare i valori....per farti capire allego codice
Codice:
<?php
$Bfile[]= "mcheck.dat";  
$Bfile[]= "mcheck.20210219.dat";  

echo print_r($Bfile);
echo "<br>";
echo "\r\n SORT ";

sort($Bfile);
echo print_r($Bfile);
echo "<br>";

echo "\r\n ASORT ";
asort($Bfile );
echo print_r($Bfile);

?>

Array ( [0] => mcheck.dat [1] => mcheck.20210219.dat ) 1
SORT Array ( [0] => mcheck.20210219.dat [1] => mcheck.dat ) 1
ASORT Array ( [0] => mcheck.20210219.dat [1] => mcheck.dat ) 1
sort e asort danno lo stesso risultato, dovrebbero essere diversi
l'array $Bfile viene riempito da altre routine e possono essere 2 o 200
 
Nell'esempio che hai postato è impossibile vedere la differenza tra sort e asort infatti:
sort() function will sort an array by values and array keys will be automatically reset.
asort() function will sort an array by values and array keys will be the same as per original array.
inoltre entrambe le funzioni sono in ordine ascendente...
 
  • Like
Reactions: napuleone
Nell'esempio che hai postato è impossibile vedere la differenza tra sort e asort infatti:
sort() function will sort an array by values and array keys will be automatically reset.
asort() function will sort an array by values and array keys will be the same as per original array.
inoltre entrambe le funzioni sono in ordine ascendente...
GRAZIE non dovevo usare asort per invertire ma rsort GRAZIE
adesso tutto OK
 

Discussioni simili