Fonction usort
Par karando, jeudi 22 février 2007 à 20:01 :: PHP - Developpement libre :: #28 :: rss
Je devais faire un usort d'un tableau qui est en multidimention et qui ne doit ranger que l'indice 0 suivant que la valeur de l'indice 3 soit a 2
Donc j'ai un tableau qui se compose ainsi :
[PHP]
<?
$i=0;
$tab[$i][0] = intval(0);
$tab[$i][1] = "blabla"
$tab[$i][2] = array('ble','carotte',array(1,3),'blabla');
$tab[$i][3] = intval(2);
$i++; // --> avec une dizaine de ++ enfin dans une boucle
//car moi c'est les infos d'une requete stoquer dans un tableau
?>
Donc dans ce tableau j'ai un indice 0 qui est une valeur d'id unique qui est incrementer donc valeur qui ce suivent mais ne se ressemble pas.
J'ai l'indice 3 qui suivant certaine valeur de 0 peut aller de 1 à 11 mais avec plusieur fois des valeur a 2
Donc je devais faire un tri pour avoir des valeur d'indice 3 consecutif mais lorsque on a $tab($i)(3) = 2 on doit tous les regroupés
donc j'ai fait un usort afin de trier mon tableau
[PHP]
<?
function compare_usort($a, $b)
{
if ($a[3] == $b[3])
{
$valeur_sortie = 0;
if ($a[3]==2)
{
if ($a[0] > $b[0])
$valeur_sortie= 1;
else if ($a[0]<$b[0])
$valeur_sortie= -1;
}
}
elseif($a[3]<$b[3])
{
$valeur_sortie = -1;
}
elseif ($a[3]>$b[3])
{
$valeur_sortie = 1;
}
return $valeur_sortie;
}
usort ($tab_menu, "compare_usort");
?>
Voila j'espere que cela va pouvoir vous aider dans vos devs futurs.
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.