首页 > 解决方案 > 字符串值数组,而不是对象字符串数组

问题描述

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

我开始这样做

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

然后,我将拨打电话并添加图像 URL,如下所示:

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 代码哪里出错了?

标签: php

解决方案


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

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

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


推荐阅读