Accueil > Forum > > > > PHP fonction retourne tableau
PHP fonction retourne tableau
dimanche 8 juin 2008 à 20:36:56 |
PHP fonction retourne tableau

zlatan40
|
Salu a tous J'avais un code d'origine (que j'ai commenté pour le repérer) qui fonctionnait mais j'ai besoin de le réutiliser donc je veut le mettre dans une fonction tablo qui a un entier en paramètre et me retourne un tableau à 2 dimension. <?php //----------fonction que j'utilise dans la deuxième---------- function sort_items($a, $b) { if ($a['points'] != $b['points']) return $a['points'] <= $b['points']; elseif ($a['diff'] != $b['diff']) return $a['diff'] <= $b['diff']; else return $a['bp'] <= $b['bp']; }
function tablo($journeesel) { //------------------------------DEBUT DU CODE D'ORIGINE-------------------------------------- $repon = mysql_query("SELECT nomeq FROM equipe ORDER BY points DESC") or die(mysql_error()); while ($nom = mysql_fetch_array($repon) ) { //------------------Initialisation des tableaux-------------------------- $dom[$nom['nomeq']] = array ("points" => "0","matchjoués" => "0","gagnés" => "0","nuls" => "0","perdus" => "0","bp" => "0","bc" => "0","diff" => "0"); $ext[$nom['nomeq']] = array ("points" => "0","matchjoués" => "0","gagnés" => "0","nuls" => "0","perdus" => "0","bp" => "0","bc" => "0","diff" => "0"); for ($nb = 1; $nb <= $journeesel; $nb++) { //-------------------------Equipes domiciles-------------------- $reponsedom = mysql_query("SELECT * FROM matchs WHERE journee='".$nb."' AND equipedom='".$nom['nomeq']."'") or die(mysql_error()); $champsdom = mysql_fetch_array($reponsedom); if ($champsdom['equipedom']==$nom['nomeq']) { if($champsdom['scoredom'] > $champsdom['scorext']) {$points=3;$gagnés=1;$nuls=0;$perdus=0;} if($champsdom['scoredom'] == $champsdom['scorext']) {$points=1;$gagnés=0;$nuls=1;$perdus=0;} if($champsdom['scoredom'] < $champsdom['scorext']) {$points=0;$gagnés=1;$nuls=0;$perdus=1;} $dom[$champsdom['equipedom']] = array ( "points" => $dom[$champsdom['equipedom']]['points']+$points, "matchjoués" => $dom[$champsdom['equipedom']]['matchjoués']+1, "gagnés" => $dom[$champsdom['equipedom']]['gagnés']+$gagnés, "nuls" => $dom[$champsdom['equipedom']]['nuls']+$nuls, "perdus" => $dom[$champsdom['equipedom']]['perdus']+$perdus, "bp" => $dom[$champsdom['equipedom']]['bp']+ $champsdom['scoredom'], "bc" => $dom[$champsdom['equipedom']]['bc']+ $champsdom['scorext'], "diff" => $dom[$champsdom['equipedom']]['diff']+ $champsdom['scoredom']-$champsdom['scorext']); } //-------------------------Equipes extérieures-------------------- $reponsext = mysql_query("SELECT * FROM matchs WHERE journee='".$nb."' AND equipext='".$nom['nomeq']."'") or die(mysql_error()); $champsext = mysql_fetch_array($reponsext); if ($champsext['equipext']==$nom['nomeq']) { if($champsext['scorext'] > $champsext['scoredom']) {$points=3;$gagnés=1;$nuls=0;$perdus=0;} if($champsext['scorext'] == $champsext['scoredom']) {$points=1;$gagnés=0;$nuls=1;$perdus=0;} if($champsext['scorext'] < $champsext['scoredom']) {$points=0;$gagnés=1;$nuls=0;$perdus=1;} $ext[$champsext['equipext']] = array ( "points" => $ext[$champsext['equipext']]['points']+$points, "matchjoués" => $ext[$champsext['equipext']]['matchjoués']+1, "gagnés" => $ext[$champsext['equipext']]['gagnés']+$gagnés, "nuls" => $ext[$champsext['equipext']]['nuls']+$nuls, "perdus" => $ext[$champsext['equipext']]['perdus']+$perdus, "bp" => $ext[$champsext['equipext']]['bp']+ $champsext['scorext'], "bc" => $ext[$champsext['equipext']]['bc']+ $champsext['scoredom'], "diff" => $ext[$champsext['equipext']]['diff']+ $champsext['scorext']-$champsext['scoredom']); } } //-----------------------ajout des résultat dans une tableau--------------------------- $gen[$nom['nomeq']] = array ( "points" => $ext[$nom['nomeq']]['points'] + $dom[$nom['nomeq']]['points'], "matchjoués" => $ext[$nom['nomeq']]['matchjoués'] + $dom[$nom['nomeq']]['matchjoués'], "gagnés" => $ext[$nom['nomeq']]['gagnés'] + $dom[$nom['nomeq']]['matchjoués'], "nuls" => $ext[$nom['nomeq']]['nuls'] + $dom[$nom['nomeq']]['nuls'], "perdus" => $ext[$nom['nomeq']]['perdus'] + $dom[$nom['nomeq']]['perdus'], "bp" => $ext[$nom['nomeq']]['bp'] + $dom[$nom['nomeq']]['bp'], "bc" => $ext[$nom['nomeq']]['bc'] + $dom[$nom['nomeq']]['bc'], "diff" => $ext[$nom['nomeq']]['diff'] + $dom[$nom['nomeq']]['diff']); } //----------------------------tri du tableau------------------------------------------------ uasort($gen, 'sort_items'); //------------------------------FIN DU CODE D'ORIGINE-------------------------------------- return $gen; } tablo($_POST['journeesel']); ?>
Ensuite j'ai le code qui affiche le tableau $gen comme avant mais ça ne marche plus, on me dit que le tableau n'est pas définit ou que ce n'est pas un tableau
|
|
lundi 9 juin 2008 à 08:31:44 |
Re : PHP fonction retourne tableau

Flachy Joe
|
Salut, S'il te plaît, clarifie ton code : - supprime ce qui ne nous est pas utile (ne garde qu'un élément par tableau par exemple) - indente le - indique la ligne de l'erreur On veut bien t'aider mais si tu nous donnes un sac de n½ud en nous demandant qu'on t'aide à tendre la corde, on te dira de d'abord la démêler... Ça vaut aussi pour ton autre question : http://www.phpcs.com/infomsg_PHP-RECUPERER-ZONE-SAISI-FORMULAIRE_1142429.aspx A+  Flachy Joe  Ta vie t'est prêtée, fais en un cadeau.
|
|
lundi 9 juin 2008 à 09:26:39 |
Re : PHP fonction retourne tableau

zlatan40
|
Merci de ta réponse Tout d'abord je ne sais pas d'ou viens l'erreur, le tableau doit être vide car c'est lorsque j'affiche le tableau que j'ai une erreur (le code n'y est pas) Le truc c'est que le code compris entre //---------DEBUT DU CODE D'ORIGINE---- et //---------FIN DU CODE D'ORIGINE---- fonctionne car avant j'avais simplement ce code sans la fonction tablo. Maintenant que je l'ai mis dans la fonction tablo et que j'éssaie d'utiliser la fonction cela ne fonctionne plus. Mes question sont : Es-ce que l'on peut utiliser une fonction à l'interrieur d'une fonction ? Es-ce qu'une fonction peut retourner un tableau ? Sinon je ne vois pas d'ou vient le problème
|
|
lundi 9 juin 2008 à 11:17:14 |
Re : PHP fonction retourne tableau

zlatan40
|
Réponse acceptée !
Le problème est résolu : Je pensais que la variable se créer toute seule à la sortie de la fct mais en fait il faut mettre le résultat de la fonction dans une variable $gen = tablo($_POST['journeesel']);
alors que j'avais simplement fait tablo($_POST['journeesel']);
|
|
Cette discussion est classée dans : points, dom, nomeq, champsdom, champsext
Répondre à ce message
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|