字符串值数组,而不是对象字符串数组

时间:2019-08-03 14:17:39

标签: php

基本上,我正在调用API来获取图像的URL数组。

我从这里开始

$mainResponse = array(
      "result" => array(
      ),
      "ack" => "success"
 );

然后我打电话,并添加如下图像网址:

foreach($resp->Item as $item) {
  $picture = $item->PictureURL;
  array_push($mainResponse['result'], $picture);
}

最后,我会回声给我。

 echo json_encode($mainResponse);

我面临的问题是我的答复是

{"result":[{"0":"IMAGE_URL","1":"IMAGE_URL"}],"ack":"success"}

我希望它在哪里....

{"result":["IMAGE_URL","IMAGE_URL"],"ack":"success"}

我的PHP代码在哪里出错了?

2 个答案:

答案 0 :(得分:1)

好像$ picture是一个关联数组,使用以下命令更改foreach循环:

foreach($resp->Item->PictureURL as $item) {
 foreach($item as $_item){
  array_push($mainResponse['result'],$_item);}
}

答案 1 :(得分:1)

由于某种原因,此API返回一个对象而不是数组。 您可以这样做:

foreach ($resp->Item as $item) {
    $picture = $item->PictureURL;
    array_merge($mainResponse['result'], (array)$picture);
}

如果您希望每个项目都有单独的图片,则可以使用array_push