douling0053 2015-12-29 23:45
浏览 376
已采纳

使用带有json_decode的php中的Base64解码json字符串

I'm trying to decode output json data using json_decode & Base64 decode, no issue for output json_decode but one string that have base64 encode I also no issue to decode it using base64_decode,. but I'm try to decode both json data using json_decode & base64_decode that i face some problems, My question is now how to decode the JSON string on same time one string use base64 decode... here an example of my json data

Array
(
 [0] => Array
    (
        [ad_id] => 257
        [stat] => 1
        [text] => 2YTZhNio2YrYuSDYtNmB2LEg2YPYp9io2KrZitmB2YrYpyDZhdmI2K/ZitmEINmi2aDZoNmp
        [img_count] => 4
        [img_file_name] => 8246ee83.jpg
    )
[1] => Array
    (
        [ad_id] => 258
        [stat] => 1
        [text] => 2YTZhNio2YrYuSDYtNmB2LEg2KfZhCDYqtmKINiy2K8g2YXZiNiv2YrZhCDZotmg2aDZpQ==
        [img_count] => 5
        [img_file_name] => 1563457.jpg
    )

string 'text' as output working ..but with limit array [0] << one output only if i replace $output[0] with $output[1] i got output of array 1 like that ,,i need to be dynamic [0] or [1] or [2] ..etc base on output.. ,,and print the other strings with json_decode.

<?
$ch = curl_init("http://www.example.com/s=0&c=20");
curl_setopt( $ch, CURLOPT_USERAGENT, 'Dalvik/2.1.0 (Linux; U; Android 5.0;  SM-N9005 Build/LRX21V)' );
curl_setopt($ch,CURLOPT_ENCODING, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Encoding: gzip'));
$result = curl_exec($ch);
$json = json_decode( $result, TRUE);
$output[0]['text']=base64_decode($json[0]['text']);
header('Content-Type: text/plain; charset=utf-8');

#print_r ($json);

print_r ($output);

?>

thanks

  • 写回答

1条回答 默认 最新

  • dsvjmc0907 2015-12-30 00:29
    关注

    I understand, do this:

    $json = json_decode($result, true);
    foreach($json as $k => $v){ // this will loop through all the possible indexes
        $output[$k]['text'] = base64_decode($v['text']);
    }
    header('Content-Type: text/plain; charset=utf-8');
    print_r($output); // here's your new PHP array with all the ['text'] values!
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序