php - 解码 while 循环中获取的值

标签 php mysql json

我想解码我获取的值。我获取并将 ',' 连接到值 $album.=$fet_pic['CONTENT_VALUE'].','; 我想解码该值并将其发送到 jsondata。现在 'albpic' 返回 null。我得到了如图所示的 json 值。

enter image description here

$alb = array();
$get_alb = mysql_query("select * from album");
while($fet_alb = mysql_fetch_array($get_alb)) {
     $id=$fet_alb['ID'];
     $alid=$fet_alb['CONTENT_VALUE'];
     $albpic=mysql_query("select * from album_details where SUB_ID='$id'");
      $album='';        
       while($fet_pic=mysql_fetch_array($albpic))
       {
         $album.=$fet_pic['CONTENT_VALUE'].',';
       }
      // $album = substr($album,0,-1);
       $alb[] = array_merge(array('id' => $id),json_decode($fet_alb['CONTENT_VALUE'], true),array('albpics'=>json_decode($album)));

 }  
echo json_encode($alb);

 $album={"media_type":"image/png","content_type":"alb_detail","website_id":"571710720","last_modified_date":"2015-11-23T05:27:03.806Z","thumnail_pic_loc":"link.png","large_pic_loc":"link.png","filter_type":"image/png","photodescription":"No Description","pic_id":"zhadb"},{"media_type":"image/png","content_type":"alb_detail","website_id":"571710720","last_modified_date":"2015-11-23T05:27:03.806Z","thumnail_pic_loc":"link.png","large_pic_loc":"link.png","filter_type":"image/png","photodescription":"No Description","pic_id":"zhadb"},{"media_type":"image/video","content_type":"alb_info","website_id":"571710720","last_modified_date":"2015-11-23T05:27:03.806Z","thumnail_pic_loc":"http://img.youtube.com/vi/fdgd/default.jpg","large_pic_loc":"http://img.youtube.com/vi/fdgd/hqdefault.jpg","filter_type":"image/video","videoname":"fdgd","photodescription":"dfgdfg","pic_id":"kg5k4"}

最佳答案

要使用 json_decode(),您传递的参数应采用 json_encoded 格式。

改变这个

$alb[] = array_merge(array('id' => $id),json_decode($fet_alb['CONTENT_VALUE'], true),array('albpics'=>json_decode($album)));

$alb[] = array_merge(array('id' => $id),$fet_alb['CONTENT_VALUE'], ,array('albpics'=>$album));

如果$fet_alb['CONTENT_VALUE']这是json编码值,请使用

$arr = json_decode($fet_alb['CONTENT_VALUE']);
$arr1 = imlpode(",",$arr);// this will give comma separated values.

关于php - 解码 while 循环中获取的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33886244/

相关文章:

php - 使用 php MySql 动态创建选择列表,但选择选项不起作用

mysql - 日期转换为字符串

javascript - JSON-Object 作为字符串 : Use of concat(), eval() 和/或 JSON.parse()?

android - 如何从 phonegap android 应用程序访问 SQL 服务器数据库?

ruby-on-rails - 网络模拟 : Rspec - Test Facebook Validation by using JSON response

php - 如何优化这个数组循环

php - paypal/wepay延迟链式支​​付php

php - Facebook API : Get a row from MySQL and Like an Object

php - 如何返回所有行,即使它们在连接表中没有行

PHP - 将输入值存储在外部 php 数组中