par
soycd » 15 oct. 2011, 07:11
Ton problème est que le séparateur de décimal anglais est le . pas la ,
Ensuite le second problème est que tu ne peux faire ça dans un simple tableau, car tes clefs seront forcément écrasées s'il y a doublon dans ton tableau, que ce soit en mettant les valeurs ou les positions en clefs.
Donc soit 2 tableaux, soit un tableau à 2 dimensions.
Exemple avec 2 dimensions
$input = '|5,7|15|9,3|10|13|4,6|21|8,4|41|24|35|5,7|';
$input = str_replace(',', '.', trim($input, '|'));
$tab = explode('|', $input);
sort($tab);
$tabTri = array();
$previous = null;
$pos = 1;
foreach( $tab as $k => $value )
{
if( $previous !== null && $previous !== $value )
$pos++;
$previous = $value;
$tabTri[$k]['value'] = $value;
$tabTri[$k]['position'] = $pos;
}
echo'<pre>';print_r($tabTri);echo'</pre>';
comment modifier ton script pour mettre les nombres et le classement en variable ou en session.
Pas compris.
Ton problème est que le séparateur de décimal anglais est le . pas la ,
Ensuite le second problème est que tu ne peux faire ça dans un simple tableau, car tes clefs seront forcément écrasées s'il y a doublon dans ton tableau, que ce soit en mettant les valeurs ou les positions en clefs.
Donc soit 2 tableaux, soit un tableau à 2 dimensions.
Exemple avec 2 dimensions
[php]$input = '|5,7|15|9,3|10|13|4,6|21|8,4|41|24|35|5,7|';
$input = str_replace(',', '.', trim($input, '|'));
$tab = explode('|', $input);
sort($tab);
$tabTri = array();
$previous = null;
$pos = 1;
foreach( $tab as $k => $value )
{
if( $previous !== null && $previous !== $value )
$pos++;
$previous = $value;
$tabTri[$k]['value'] = $value;
$tabTri[$k]['position'] = $pos;
}
echo'<pre>';print_r($tabTri);echo'</pre>';[/php]
[quote]comment modifier ton script pour mettre les nombres et le classement en variable ou en session.[/quote]
Pas compris.