猿问

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

基本上,我正在调用 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 代码哪里出错了?


长风秋雁
浏览 146回答 2
2回答

神不在的星期二

出于某种原因,这个 API 返回一个对象而不是一个数组。你可以这样做:foreach ($resp->Item as $item) {    $picture = $item->PictureURL;    array_merge($mainResponse['result'], (array)$picture);}array_push如果您希望每个项目都有单独的图片,您可以使用。

慕虎7371278

好像 $picture 是一个关联数组,用这个改变 foreach 循环:foreach($resp->Item->PictureURL as $item) { foreach($item as $_item){  array_push($mainResponse['result'],$_item);}}
随时随地看视频慕课网APP
我要回答