Problème avec un tableau - PHP - Programmation
Marsh Posté le 28-08-2011 à 21:32:03
J'ai pas exactement comptris ce que tu veux faire, mais dans ton code en commentaires je vois "$arena->size = '2v2'" par exemple, mais je pense que c'est plutôt "$arena->size == '2v2'" que tu voulais mettre ?
En fait tu veux normaliser ton tableau c'est ca ?
Marsh Posté le 29-08-2011 à 17:14:55
Hello,
Alors je veux bien t'aider mais moi aussi je ne comprends pas exactement ton problème.
Si ton foreach s'execute 6 fois c'est que "$profile = $api->pull_JSON();" renvoit un tableau de 6 résultats non ?
Tu as quoi dans ce tableau ?
Marsh Posté le 29-08-2011 à 17:23:53
J'ai corrigé mon post, c'est un peu plus clair.
$profile = $api->pull_JSON();
S’exécute qu'une seule fois, c'est juste ma classe qui récupère les infos de l'api battle.net
Marsh Posté le 29-08-2011 à 18:43:09
Orission a écrit : $profile = $api->pull_JSON(); S’exécute qu'une seule fois, c'est juste ma classe qui récupère les infos de l'api battle.net |
Oui ça j'avais bien compris, c'était pas vraiment ça ma question
Sinon en effet c'est un peu plus clair.
Si je comprends bien ce que tu essayes de faire, tu veux chercher dans $profile ce qui correspond au $size que tu passes en paramètre et renvoyer les informations en question. Dans ce cas ça donnerait je pense quelque chose dans ce genre :
Code :
|
Et ensuite, là où tu récupères la valeur renvoyée par cet appel de fonction, tu vérifie le résultat :
- Si c'est null quand tu envoies '2v2', c'est que le joueur en question n'a pas d'équipe 2v2.
- Si c'est une instance de stdClass, c'est qu'il a une équipe 2v2 et tu peux accéder à sa côte personnelle et d'équipe via les propriété publiques "personalRating" et "teamRating".
Si je suis à côté de la plaque, ce qui est possible, c'est que soit je n'ai pas compris ce que tu veux faire, soit tu ne comprends pas comment tu dois continuer après cette fonction là.
Tiens moi au courant !
Edit : Après lecture du nom de ta fonction, ça serait plus ça peut-être :
Code :
|
Marsh Posté le 29-08-2011 à 19:15:12
Code :
|
Donc j'affiche cela :
Code : |
Et ça me donne :
Code :
|
Je ne comprends pas. En fait c'est ça qui me bloque depuis le début, j'ai beau faire des codes différents, et j'ai toujours le même bug
Marsh Posté le 30-08-2011 à 12:00:37
Je viens de faire un test avec ce script là précisément :
Code :
|
J'obtiens comme résultat :
Code :
|
Sachant que la classe Api ne sert qu'à mocker ton $api afin qu'elle me renvoit le même tableau que tu indiques dans ton premier post. La fonction renvoit bien les bons résultats. Donc le code que je t'ai donné est parfaitement valide selon moi.
Je vois mal comment je vais pouvoir t'aider plus que ça
Marsh Posté le 30-08-2011 à 15:19:24
La classe API je l'ai :
http://www.rezman.org/source/?b
La function pull_JSON aussi.
Les name, rating et le reste changent tout le temps, car je parse une base de donnée d'environ 500.000 joueurs
Moi ce que je ne comprends pas, c'est que le code précédent est parfaitement logique, clair mais ne me renvoie pas les résultats voulut
Marsh Posté le 28-08-2011 à 18:14:47
Salut
Voici mon tableau :
Dans la partie "arenaTeams" il se peut qu'il y est 0, 1, 2 ou 3 type différent de "size", soit aucune, soit 2v2, 3v3 ou 5v5.
Mon problème est de savoir combien il y en a donc je fais un :
$count = count($profile->pvp->arenaTeams);
Je souhaite faire une fonction qui récupère les infos de la "size", donc en gros ça serai :
get_arena_personalRating($api, '2v2');
Mais le problème est que je ne sais pas du tout comment faire, j'ai essayé ça :
Mais je ne sais pas récupérer les infos correctement, je bloque total, j'comprends rien
Un peu d'aide ? merci
Message édité par Orission le 29-08-2011 à 17:23:24
---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »