récupérer des valeurs précises d'une API avec cUrl

Ce sujet est résolu
Default
,

Bonjour,

Voila je rencontre un petit problème avec mon code. Vous allez peut etre me prendre pour une débile par ce que c'est tout simple mais je suis débutante et je ne sais pas encore comment bien me servir de tout ça....

Je fais un appel à une API avec de récuperer des valeurs. Cependant cela me retourne plusieurs tableaux avec des clefs etc et je ne comprends pas très bien comment récuperer seulement certaines valeurs.... Voilà comment je récupère mes infos de l'API:

public function testAffichageOrigines() {
        $cookies_file ='cookiesTest2.txt';
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_COOKIEFILE, $cookies_file);
        curl_setopt_array($curl, array(
            CURLOPT_URL => "http://varlot.epfprojets-sceaux.com:8080/Origines",
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => "",
            CURLOPT_MAXREDIRS => 10,
            //CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => "GET",
        ));
        $parsee=json_decode(curl_exec($curl), true);
        curl_exec($curl);
        $http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
       /* foreach ($parsee as $result){
            echo '<p>'.$result.'</p>';

        }*/


       // echo $http_code;

        print_r($parsee);

        curl_close($curl);
       // echo $response;
    }


et cela me renvoie
Array ( [Commercial] => Array ( [0] => Autre [1] => Communication [2] => Mise au point [3] => Non prise en compte impératif technique [4] => Rédaction des documents NC ) [Serrurerie] => Array ( [0] => Autre [1] => Conditionnement [2] => Coupe [3] => Dimensionnel [4] => Marquage [5] => Perçage [6] => Pliage [7] => Soudure ) [Chargement] => Array ( [0] => Autre [1] => Erreur magasinier [2] => Erreur référence [3] => Mauvais colisage [4] => Mauvaise destination [5] => Mauvaise manipulation [6] => Pièces manquantes ) [Débit] => Array ( [0] => Autre [1] => Coupe [2] => Grenaillage [3] => Imbrication [4] => Marquage [5] => Opérateur [6] => Perçage [7] => Pliage [8] => Scribing ) [Sous traitants] => Array ( [0] => Autre [1] => Conception [2] => Destruction ou perte [3] => Document [4] => DSTV NC [5] => Erreur déssinateur [6] => Fabrication NC [7] => Livraison [8] => Montage [9] => Plan ) [BE] => Array ( [0] => Autre [1] => Documentaire [2] => DSTV NC [3] => Erreur conception [4] => Erreur humaine [5] => Logiciel [6] => Plan NC ) [Montage] => Array ( [0] => Autre [1] => Communication [2] => Pièce manquante [3] => Pièce monteur [4] => Pièce non-conforme [5] => Prescellement ) [Reception] => Array ( [0] => Aspect [1] => Autre [2] => Commande [3] => Coupe [4] => Dimension [5] => Documentaire ) [Peinture] => Array ( [0] => Aspect Visuel [1] => Autre [2] => Mauvaise teinte ) [Assemblage] => Array ( [0] => Autre [1] => Boulonnage [2] => Dimensionnel [3] => Marquage [4] => Rivetage [5] => Soudure [6] => Stockage ) )

Ce qui plus joliement est:

"Commercial": [
    "Autre",
    "Communication",
    "Mise au point",
    "Non prise en compte impératif technique",
    "Rédaction des documents NC"
],
"Serrurerie": [
    "Autre",
    "Conditionnement",
    "Coupe",
    "Dimensionnel",
    "Marquage",
    "Perçage",
    "Pliage",
    "Soudure"
],
"Chargement": [
    "Autre",
    "Erreur magasinier",
    "Erreur référence",
    "Mauvais colisage",
    "Mauvaise destination",
    "Mauvaise manipulation",
    "Pièces manquantes"
],
"Débit": [
    "Autre",
    "Coupe",
    "Grenaillage",
    "Imbrication",
    "Marquage",
    "Opérateur",
    "Perçage",
    "Pliage",
    "Scribing"
],
"Sous traitants": [
    "Autre",
    "Conception",
    "Destruction ou perte",
    "Document",
    "DSTV NC",
    "Erreur déssinateur",
    "Fabrication NC",
    "Livraison",
    "Montage",
    "Plan"
],
"BE": [
    "Autre",
    "Documentaire",
    "DSTV NC",
    "Erreur conception",
    "Erreur humaine",
    "Logiciel",
    "Plan NC"
],
"Montage": [
    "Autre",
    "Communication",
    "Pièce manquante",
    "Pièce monteur",
    "Pièce non-conforme",
    "Prescellement"
],
"Reception": [
    "Aspect",
    "Autre",
    "Commande",
    "Coupe",
    "Dimension",
    "Documentaire"
],
"Peinture": [
    "Aspect Visuel",
    "Autre",
    "Mauvaise teinte"
],
"Assemblage": [
    "Autre",
    "Boulonnage",
    "Dimensionnel",
    "Marquage",
    "Rivetage",
    "Soudure",
    "Stockage"
]

Cependant ce que je voudrais faire c'est récuperer seulement la liste des origines, c'est a dire les clefs de chaque tableau pour ensuite lorsque qu'une certaine clef est selectionnée en récuperer les valeurs.
Les clefs sont les origines et les valeurs sont les sous origines. Comment récuperer la liste de chaque ? Je pensais faire un for mais je n'en sais pas plus, je ne vois pas quoi mettre dans la condition du for ni à l'interieur de la boucle....

Je ne sais pas si j'ai été très claire... en tout cas merci pour votre aide !

2 Réponse

45170
,

Salut,

Tu peux utiliser la méthode array_keys :
https://www.php.net/manual/fr/function.array-keys.php

Default
,

Merci à tous pour ta réponse, j'ai finalement récupéré toutes les valeurs en même temps et j'ai récupéré celles que je voulais en HTML à l'aide de twig ! :D