Maison  >  Questions et réponses  >  le corps du texte

Obtenez un tableau 2D à partir d'une requête API Post en PHP

Je ne parviens pas à obtenir le tableau 2D pour la demande de publication de l'API. Impossible de formuler une logique en php pour obtenir plusieurs tableaux à partir de l'API au format JSON. La structure de la requête API JSON est :

"abc": [{"id": 123, "days": [{"a": 11, "b": 11},{"a":22, "b":22}]} , {"id": 456, "days": [{"a": 33, "b": 33},{"a":44, "b":44}]}

J'essaie cette logique pour un tableau 2D pour obtenir l'ID et les valeurs de A,B et je sais que les valeurs ne sont pas au bon format.

foreach ($request->abc as $ids => $id) {
    foreach ($id => array_combine($a, $b)) {
        $value .= $this->helper($id, $a, $b);
    }
}

J'ai réussi à récupérer un seul tableau de l'API via cette boucle :

// single array structure from post request "abc": {"single_array_val":[11,12,13,14,15]}
foreach ($request->abc as $single_arrays => $single_array) {
  $value .= $this->helper($single_arrays, $single_array);
}

P粉057869348P粉057869348430 Il y a quelques jours689

répondre à tous(1)je répondrai

  • P粉244730625

    P粉2447306252023-09-09 00:03:51

    Grâce à cette boucle, j'ai appelé l'objet de "abc":

    foreach ($request->abc as $abc) {
        $value .= $this->helper($abc['id'], $abc['days']);
    }

    Puis j'ai appelé la fonction helper dans laquelle j'ai développé une boucle pour l'objet "days" :

    public function helper($id, $days)
    {
        $days_value = "";
        foreach ($days as $day) {
            $days_value .= $this->helper2($day['a'], $day['b']);
        }
        return echo 'the id is: '. $id .' and this have days' . $days_value; 
    }

    C'est la fonction helper2 où je décode les valeurs de a et b en les envoyant en arguments :

    public function helper2($a, $b)
    {
        return 'this is a:' . $a . ', this is b:' . $b;
    }

    Maintenant, je peux facilement transmettre les valeurs de a et b comme paramètres à la fonction helper2. J'espère que quelqu'un le trouvera utile.

    répondre
    0
  • Annulerrépondre