begin process at 2012 05 31 11:11:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

tri d'un array


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

tri d'un array

lundi 24 janvier 2005 à 14:41:11 | tri d'un array

Tartuffe

Bonjour, j'ai un array qui a cette forme : $variable[0]=(1134, 10, 100, 56) $variable[1]=(1115, 10, 101, 312) $variable[2]=(25, 8, 100, 75) $variable[3]=(38, 9, 99, 45) $variable[4]=(88, 9, 100, 50) Je veux trier $variable selon $variable[n][1] croissant et $variable[n][2] croissant... J'ai essayer avec "multisort", "sort" avec un fonction, mais c'est à n'y rien comprendre. Au secours !!!!!!!! Quelqu'un peut m'aider ? Tartuffe, PekLandais
lundi 24 janvier 2005 à 20:50:55 | Re : tri d'un array

malik7934

J'suis pas sûr sûr d'avoir compris la question, mais je me lance ;o)

<?php
$variable[0]=array(1134, 10, 100, 56);
$variable[1]=array(1115, 10, 101, 312);
$variable[2]=array(25, 8, 100, 75);
$variable[3]=array(38, 9, 99, 45);
$variable[4]=array(88, 9, 100, 50);

for ($i=0;$i<count($variable);$i++){
    sort($variable[$i]);
}

print_r($variable);
?>

donne:  Array ( [0] => Array ( [0] => 10 [1] => 56 [2] => 100 [3] => 1134 ) [1] => Array ( [0] => 10 [1] => 101 [2] => 312 [3] => 1115 ) [2] => Array ( [0] => 8 [1] => 25 [2] => 75 [3] => 100 ) [3] => Array ( [0] => 9 [1] => 38 [2] => 45 [3] => 99 ) [4] => Array ( [0] => 9 [1] => 50 [2] => 88 [3] => 100 ) )
lundi 24 janvier 2005 à 21:10:58 | Re : tri d'un array

Tartuffe

Ma question doit être de travers... Ce que je veux pourvoir trier c'est les "colonnes" [1] et [2] de $variable[0], pas trier chaque $variable[0][x]. Je veux changer l'indice de $variable selon les valeurs de [1] et [2] de chaque array contenu par $variable. En fait partant de : $variable[0]=array(1134, 10, 100, 56); $variable[1]=array(1115, 10, 101, 312); $variable[2]=array(25, 8, 100, 75); $variable[3]=array(38, 9, 99, 45); $variable[4]=array(88, 9, 100, 50); ... le résultat attendu c'est ca : $variable[0]=array(25, 8, 100, 75); $variable[1]=array(38, 9, 99, 45); $variable[2]=array(88, 9, 100, 50); $variable[3]=array(1134, 10, 100, 56); $variable[4]=array(1115, 10, 101, 312); arno PekLandais
lundi 24 janvier 2005 à 21:28:54 | Re : tri d'un array

malik7934

<?php
$variable[0]=array(1134, 10, 100, 56);
$variable[1]=array(1115, 10, 101, 312);
$variable[2]=array(25, 8, 100, 75);
$variable[3]=array(38, 9, 99, 45);
$variable[4]=array(88, 9, 100, 50);

for ($i=0;$i<count($variable);$i++)
    $tri[$i] = $variable[$i][0] ;

array_multisort ($variable, $tri);
print_r($variable);
?>

Ca donne: Array ( [0] => Array ( [0] => 25 [1] => 8 [2] => 100 [3] => 75 ) [1] => Array ( [0] => 38 [1] => 9 [2] => 99 [3] => 45 ) [2] => Array ( [0] => 88 [1] => 9 [2] => 100 [3] => 50 ) [3] => Array ( [0] => 1115 [1] => 10 [2] => 101 [3] => 312 ) [4] => Array ( [0] => 1134 [1] => 10 [2] => 100 [3] => 56 ) )
lundi 24 janvier 2005 à 21:44:23 | Re : tri d'un array

Tartuffe

Bon, bé je suis pas certain de capter pourquoi ca marche, mais bon... Par exemple pour $variable[$i][0] alors qu'on vise $variable[$i][1] et $variable[$i][2]. Bon j'essaye tout de même. Question {}, je supose que { est après le for (), et } après array_mutlisort(), non ? Arno PekLandais
lundi 24 janvier 2005 à 21:50:43 | Re : tri d'un array

malik7934

Réponse acceptée !
regarde http://ch2.php.net/manual/fr/function.array-multisort.php, tu comprendras pourquoi ça marche ;o) .. en supposant que j'ai bien compris ce que tu veux!

Ce bout de code vas reclasser l'ordre des tableaux en fonction du premier élément de chaque tableau...
AVANT:
$variable[0]=array(1134, 10, 100, 56);
$variable[1]=array(1115, 10, 101, 312);
$variable[2]=array(25, 8, 100, 75);
$variable[3]=array(38, 9, 99, 45);
$variable[4]=array(88, 9, 100, 50);

APRES:
$variable[4]=array(1134, 10, 100, 56);
$variable[3]=array(1115, 10, 101, 312);
$variable[0]=array(25, 8, 100, 75);
$variable[1]=array(38, 9, 99, 45);
$variable[2]=array(88, 9, 100, 50);

Si tu voulais classer en fonction du deuxième élément, il faut faire
$tri[$i] = $variable[$i][1], 3e => $tri[$i] = $variable[$i][2], etc...

Je n'ai pas mis {} avec le for, mais tu peux les rajouter. Lorsqu'on ne met pas {}, le for ne prend que la ligne qui suit ($tri[$i] = $variable[$i][0]  dans ce cas)

On y est?


Cette discussion est classée dans : variable, tri, array, croissant


Répondre à ce message

Sujets en rapport avec ce message

tri tableau 2 dimensions [ par lebobby ] Bonjour je voudrais savoir comment je pourrais faire pour trier ce tableau :$tab[0]=array("i"=>"23", "c" => "rge", "date" =>'2002-08-03 12:00:00');$ta TRI mySQL [ par ehmarc ] SAlut,J'ai un petit probleme dde tri dans mes bases : j'ai des champs de types varchar qui n'ont que des valeurs monétaires du type 9,22Je voudrai tou Tri multi-dimensionnel [ par Aline77 ] Bonjour,J'ai un tableau :Array(    [10900] => Array        (            [nom] => Aline   &nbs array et initialisation de variable (help) [ par aragorn1024 ] voila alors j rentre des valeurs de variable dans une array $chaine=array ("nom") (j utilise un $nom)et je voudrais faire un truc dans ce genre $.$cha Problème de syntaxe et de reconnaissance entre une variable fixe puis une variable "variable" [ par fredo35m ] Bonjour, je m'explique car le titre n'est pas très clair mais bon ...Alors voila lorsque j'execute un script avec des nom de variable d'une table ceal tri sur 2 tableaux .... [ par djagger ] Salut !Voici mon problème.J'ai 2 tableaux, correspondant à des noms et les id associées à ces noms:$mesNoms=array();$mesNoms[0]="FFF";$mesNoms[1]="DDD trier dans l'ordre croissant d'une variable [ par brezoneg ] Bonjour,j'ai deux variables, $nom et $chiffre.à chaque  $nom un $chiffre est attribué. Je voudrais afficher $nom dans l'odre croissant des $chiffre. S Renvoyer l'entier le plus proche d'une variable [ par iow4 ] Bonjour, J'ai un array :     $num_min = array(32,16,8,4,2,1);Et j'ai une variable $a j'aimerais pouvoir renvoyer la plage de nombre dans lequel ça se underfinited variable dans un array [ par elrik007 ] pourquoi si:$images = $gallery->xpath('//@image');il me dit que j'ai une une Undefined variable images dans:  $pic_values = array($count+1,$images[0], Tri array sur une colonne non nommé [ par Valentino ] Bonjour à tous, Je cherche à trier un tableau sur la 4ème colonne qui n'a pas de "nom" de colonne... pouvez vous m'aider svp ? Merci d'avance J'ai es


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales