Partage
  • Partager sur Facebook
  • Partager sur Twitter

Alternative au switch case ?

    17 novembre 2017 à 23:27:14

    Bonjour,

    Je suis en train de lire dans un fichier Json donc voici l'arbre:

    [region] => us
        [title] => test Json
        [affix_details] => Array
            (
                [0] => Array
                    (
                        [id] => 1
                        [name] => Name
                    )
            )
    )

    On peut voir mon champs ID qui a pour valeur 1, seulement, il existe en tout 35 ID, je pensais donc faire, vu mes maigres connaissances PHP, un Switch Case, avec 1,2,3 etc pour afficher le "name".

    Seulement je me dit que ce n'est pas forcément le moyen le plus propre et optimisé pour faire cette opération. Avez-vous des suggestions ? Merci :)

    -
    Edité par Alex_bh 18 novembre 2017 à 0:52:44

    • Partager sur Facebook
    • Partager sur Twitter
      18 novembre 2017 à 0:36:27

      Bonsoir,

      Vous devez utiliser foreach, il sert à parcourir tous les élément d'un tableau comme une boucle classique. Ca serait plus simple de vous aider si vous copiez/collez le code en entier (et pas un screen).

      • Partager sur Facebook
      • Partager sur Twitter
      Créateur de projet web Pronostic.pro
        18 novembre 2017 à 0:52:18

        Bonsoir,

        Merci pour votre réponse, effectivement ce serait plus simple !) J'ai édité mon premier message pour y ajouter le code :)

        -
        Edité par Alex_bh 18 novembre 2017 à 0:53:24

        • Partager sur Facebook
        • Partager sur Twitter
          18 novembre 2017 à 1:19:00

          Je parlais de l'ensemble de votre code php. Comment récupérez vous votre json ? via DOMDoc ? Ou est-ce simplement un tableau, enfin bref c'est flou ^^
          • Partager sur Facebook
          • Partager sur Twitter
          Créateur de projet web Pronostic.pro
            18 novembre 2017 à 12:50:22

            Ah pardonnez-moi !

            Tout simplement via une URL:

            $mythicUrl = 'http://test.com/test.json';
            $cache = 'url.tmp';
            
            if (date("D") == "Sun") {
            	$result = file_get_contents($mythicUrl); 
            	file_put_contents($cache, serialize($result));
            	$flux = json_decode($result);
            
            }else{
            	$result = unserialize(file_get_contents($cache)); 
            	$flux = json_decode($result);
            }
             $obj = json_decode($result,true);
             echo "<pre>";
             print_r($obj);

            Je n'ai pas encore été plus loin, c'est à ce moment que je réfléchissais au switch case :)

            -
            Edité par Alex_bh 18 novembre 2017 à 12:51:50

            • Partager sur Facebook
            • Partager sur Twitter
              18 novembre 2017 à 16:01:33

              Bonjour, que vous affiche le print_r($obj) ?

              Ce qu'il faudrait faire c'est un foreach qui parcours votre objet qui pourrait ressembler à ça.

              foreach($obj['details'] as $value) {
              echo $value['name'];
              }



              • Partager sur Facebook
              • Partager sur Twitter
              Créateur de projet web Pronostic.pro

              Alternative au switch case ?

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown