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

时间:2015-12-29 23:45:34

标签: php json base64

我正在尝试使用json_decode&解码输出json数据。 Base64解码,输出json_decode没问题,但是一个有base64编码的字符串我也没问题用base64_decode解码它。但我尝试使用json_decode&解码两个json数据base64_decode我面临一些问题,我现在的问题是如何在同一时间解码JSON字符串一个字符串使用base64解码...这里是我的json数据的一个例子

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
    )

字符串'text'作为输出工作..但带有限制数组[0]<<一个输出只有当我用$ output替换$ output [0] [1]我得到了数组1的输出,我需要基于输出动态[0]或[1]或[2] ..etc。 。,,并用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);

?>

感谢

1 个答案:

答案 0 :(得分:1)

我理解,这样做:

$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!