postman 从API获取二维数组在PHP中发布请求

n53p2ov0  于 2022-11-23  发布在  Postman
关注(0)|答案(1)|浏览(204)

此问题来自超级用户migrated,因为15天前可以在Stack Overflow. Migrated上回答。
无法获取API post请求的二维数组。无法在php中创建从JSON格式API获取多个数组的逻辑。JSON API请求的结构为:

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

我正在尝试这个二维数组的逻辑来获取ID和A,B的值,我知道这是不正确的格式。

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

我已经通过此循环成功地从API检索到单个数组:

// 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);
}
t8e9dugd

t8e9dugd1#

通过这个循环我把对象称为“abc”:

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

然后我调用helper函数,在这里我为'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; 
}

这里是helper2函数,我通过将a和B的值作为参数发送来解码它们:

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

现在我可以很容易地将a和B的值作为参数传递给helper2函数。希望任何人都会觉得它有帮助。

相关问题