begin process at 2012 05 29 00:03:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

code source d'une fonction fournie par PHP (sort())?


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

code source d'une fonction fournie par PHP (sort())?

jeudi 12 avril 2007 à 14:11:06 | code source d'une fonction fournie par PHP (sort())?

zoukozouko

Salut!

J'ai besoin de récupérer le code source de la fonction sort() fournie par php. Comment puis-je l'obtenir?

Mon problème est le suivant : j'ai deux tableaux, un avec des num téléphone, l'autre avec les prénoms correspondants (environ 10 000 entrées dans le tableau...)

J'ai besoin de trier cette liste, soit par prénom, soit par nom. Donc si je tri un tableau, il faut à chaque fois que le deuxième lui corresponde.


Je ne peux donc pas utiliser la fonction sort de php. J'ai donc fait une fonction de tri, qui met 30 fois plus de temps que celle de php... snif!

Si quelqu'un peut me dire ce qu'utilise php pour son tri (quick sort, fast quicksort, bubble sort ... ou encore un truc meilleur...), ce serait super sympa!!!!

Merci à tous
jeudi 12 avril 2007 à 14:48:51 | Re : code source d'une fonction fournie par PHP (sort())?

J_G

Salut... Le code source des fonctions PHP ?!? Se sont des librairies certainement écrites en C++...

Pourquoi ne pas utiliser

asort

(PHP 4, PHP 5)

asort - Sort an array and maintain index association

(va faire un tour sur www.php.net)
jeudi 12 avril 2007 à 14:50:48 | Re : code source d'une fonction fournie par PHP (sort())?

J_G

array_multisort

(PHP 4, PHP 5)

array_multisort - Sort multiple or multi-dimensional arrays

Description

bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $...]]] )

Returns TRUE on success or FALSE on failure.

array_multisort() can be used to sort several arrays at once, or a multi-dimensional array by one or more dimensions.

Associative (string) keys will be maintained, but numeric keys will be re-indexed.

The input arrays are treated as columns of a table to be sorted by rows - this resembles the functionality of SQL ORDER BY clause. The first array is the primary one to sort by. The rows (values) in that array that compare the same are sorted by the next input array, and so on.

The argument structure of this function is a bit unusual, but flexible. The first argument has to be an array. Subsequently, each argument can be either an array or a sorting flag from the following lists.

Sorting order flags:

  • SORT_ASC - Sort in ascending order
  • SORT_DESC - Sort in descending order

Sorting type flags:

  • SORT_REGULAR - Compare items normally
  • SORT_NUMERIC - Compare items numerically
  • SORT_STRING - Compare items as strings

No two sorting flags of the same type can be specified after each array. The sorting flags specified after an array argument apply only to that array - they are reset to default SORT_ASC and SORT_REGULAR before each new array argument.

jeudi 12 avril 2007 à 16:43:31 | Re : code source d'une fonction fournie par PHP (sort())?

vilhjalms

Saell og blesuð

Un simple http://www.php.net ou http://fr.php.net/manual/fr/function.sort.php aurait suffit non ? :)

Vilhjálms Sigurðsdóttir aka Frëyjá
jeudi 12 avril 2007 à 17:13:36 | Re : code source d'une fonction fournie par PHP (sort())?

J_G

Bof... pas plus long que copier coller
jeudi 12 avril 2007 à 17:21:45 | c'est justement là que je me suis renseigné en premier

zoukozouko

Evidement, je ne suis pas venu poster ma question sans avoir chercher avant...
J'avais surtout besoin d'une explication de l'explication.

Tout aurait plus simple si j'avais le code de la fonction sort, mais aparement j'en ai pas besoin.

je dois donc utiliser array_multisort, mais je suis pas ssûr de comprendre comment ça marche.
J'ai donc $tab_num qui contient les numéros, $tab_nom qui contient les noms.

$tab_num[0] = 0603030303 $tab_nom[0] = Arnaud
$tab_num[1] = 0602020202 $tab_nom[1] = Xavier
$tab_num[2] = 0601010101 $tab_nom[2] = Paul

Alors si je fais array_multisort($tab_num, $tab_nom);
j'obtiens bien :

$tab_num[0] = 0601010101 $tab_nom[0] = Paul
$tab_num[1] = 0602020202 $tab_nom[1] = Xavier
$tab_num[2] = 0603030303 $tab_nom[2] = Arnaud

???

Il va pas me ressortir les deux tableaux triés 1 à 1???
Et la syntaxe de la fonction est bonne comme je l'ai écrite, parce que ça ressemble pas du tout au prototype donné par la doc...

Merci.
jeudi 12 avril 2007 à 17:40:13 | Re : code source d'une fonction fournie par PHP (sort())?

J_G

<< Il va pas me ressortir les deux tableaux triés 1 à 1??? >>
Qu'entends-tu par là ?

En plus le résultat que tu me présentes plus haut semble parfait... Non ? Tout est bien, tu as trié les numéro (premier tableau présenté) et les noms on suivit... réindexation correcte! Non?

Bon, mais si ton problème se limite à deux tableaux (num+nom), tu peux choisir de les combiner en un seul (num en clefs et noms en valeurs)
<?php
$a
= array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

print_r($c);
?>

The above example will output:

Array
(
[green] => avocado
[red] => apple
[yellow] => banana
)

Puis utiliser un ksort pour trier par les num ou un asort pour trier par les noms... ATTENTION que les numéros soit bien unique pour chaque nom!!!

Quel est le pb ?


jeudi 12 avril 2007 à 19:45:58 | Re : code source d'une fonction fournie par PHP (sort())?

FhX

"Tout aurait plus simple si j'avais le code de la fonction sort, mais aparement j'en ai pas besoin."
Fonction C/C++ on vient de te dire. Donc inutilisable via PHP ! C'est pour ca que d'autres fonctions existent !

De toute facon, si t'as 2 tableaux pour gérer la même chose, y'a un problème de conception.
Fusionne tes tableaux pour commencer.
      


jeudi 12 avril 2007 à 22:51:03 | Re : code source d'une fonction fournie par PHP (sort())?

zoukozouko

"Fonction C/C++ on vient de te dire. Donc inutilisable via PHP ! C'est pour ca que d'autres fonctions existent !"
Je vois pas pourquoi c'est "inutilisable" en PHP. Meme si y a une lib C compilée qui est utilisée par PHP, le code existe, et donc on pourrait retranscrire en PHP...
D'ailleur le langage PHP est quand même super inspiré du C....
Bon toute façon j'ai bien admis que j'avais pas besoin de connaitre le code.

Ensuite, J_G, merci de ta réponse.
Alors pour ta question, par "trier les tableaux 1 à 1", j'entendais trier le premier puis trier le deuxième.
Mois j'utilise les deux tableaux comme une base de données :
J'ai une colonne num, une colonne nom.
Evidement, quand tu changes l'ordre d'une colonne, l'autre colonne doit changer aussi puisque les num doivent correspondre toujours aux même noms (logique).
La solution que tu m'as proposé me parait intéressante, je vais essayer ça.

Sinon FHX me signal un problème de conception, c'est probable.

Si je crée un tableau à deux dimentions, est-ce que je peux trier le tableau selon une colonne que je choisis?

exemple :
$tab[0][0] = 0603030303;
$tab[0][1] = Arnaud;

$tab[1][0] = 0602020202;
$tab[1][1] = Xavier;

$tab[2][0] = 0601010101;
$tab[2][1] = Paul;

Comment je dois utiliser la fonction array_multisort pour obtenir le tri selon la premiere colonne (les numéros)?


PS: "En plus le résultat que tu me présentes plus haut semble parfait... Non ?"
Enfait c'était une question, j'ai rien obtenu du tout. Je voulais juste qu'on m'indique la syntaxe de la fonction, je comprends pas du tout le
"bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $...]]] )"

Il me faudrait simplement la ligne à écrire du style :
array_multisort($tab, 0);

Merci encore pour votre aide!!!
jeudi 12 avril 2007 à 23:48:36 | Re : code source d'une fonction fournie par PHP (sort())?

zoukozouko

Réponse acceptée !
Voilmà, merci à tous pour votre aide!
J'ai trouvé la solution :

array_multisort($num_port, $nom_port);
Il va trier les deux tableaux en fonction des valeurs du premier tableau, puis celles du deuxième en cas de doublons dans le premier tableau.


+++

1 2

Cette discussion est classée dans : fonction, code, php, source, sort


Répondre à ce message

Sujets en rapport avec ce message

Fonction PHP : Convertir un code VB en HTML [ par microdav ] Bonjour,Je recherche une fonction PHP pour convertir un code VB en code HTML avec respect des couleurs.Quelqu'un a t il cela en stock s'il vous plait Formatage du code source php [ par Mikelepsycopat ] Bonjourje voudrais savoir si un programe exite pour Formater du code php.Je sais Que dreamwever le fais pour le code htm mais ils ne le fais pas pour Code PHP dans une fonction JavaScript [ par Kleidp ] Salut à tousVoici mon problème:mon code PHP est inséré dans une fonction Javascript.La fonction est appellée quand on clique sur un checkbox.Le problè Php dans une fonction...Error.... [ par Benjamin G ] Bonjour,Ayant repris un theme.php d'un Theme de PHP-NUKE...Je voudrais affiché comme eux des fonctions par blocks...Voici mon fichier :function paiement sécurise le code source en php [ par azma_dali ] salut pour ts le monde je sius etde en informatique je veux bien un petit aide pour la programmtion en php et merci erreur avec la fonction header [ par hajeur_abd ] bonjourlors de l'execution de mon code :    header("location: libre.php?$code"); l'erreur suivant s'affiche:Warning: Cannot add header information - h appler une fonction .js dans un code php [ par ZAMMIT ] je suis entrain de faire un projet sur joomla tout se passe très bien avec php mais la j ai un problème j arrive pas a appeler ma fonction java script appler une fonction .js dans un code php [ par ZAMMIT ] je suis entrain de faire un projet sur joomla tout se passe très bien avec php mais la j ai un problème j arrive pas a appeler ma fonction java script Le code source PHP de download.php [ par saif1982 ] j'ai un code PHP  que j'ai manipulé pour permettre aux visiteurs de télécharger des cours et divers documents :include ("connect.php"); $filesdir = 'f fonction qui génére un code en php [ par wissema87 ] Bonjour, je cherche une fonction qui génére un code en php je lui donne en entré un nom et elle doit me retourner en sortie un code . ce code doir con


Nos sponsors


Sondage...

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,390 sec (4)

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