我有php数组,如(( print_r($fdata);))
Array
(
[status] => YES
[data] => Array
(
[0] => Array
(
[0] => Array
(
[0] => Need
[1] => Am need
)
)
[1] => Array
(
[0] => Array
(
[0] => 0
[1] => No deductibles and no copayments.
)
[1] => Array
(
[0] => 1
[1] => No lifetime limit—policy won't terminate based on number or dollar amount of claims paid.
)
)
[2] => Array
(
[0] => Array
(
[0] => Volvo
[1] => 22
[2] => 18
)
[1] => Array
(
[0] => Volvo
[1] => 22
[2] => 18
)
)
[3] => Array
(
[0] => Array
(
[0] => Volvo
[1] => 22
[2] => 18
)
[1] => Array
(
[0] => Volvo
[1] => 22
[2] => 18
)
)
)
)我想把它编码给json,但是当我把它传递给"json_encode“函数时,它会打印空白结果!关于我的php代码,我声明了几个php数组,其中我从数据库加载数据。
$fdata = array(); // final data to process
$product = array(); // product info
$adv_arr = array(); // advantages
$benefits_arr = array(); // benefits
$limits_arr = array(); // limits
$terms_arr = array(); // terms加载到数组之后,我将它们推送到另一个数组,如
$ffdata = array();
array_push($ffdata , $product ,$adv_arr,$benefits_arr,$terms_arr); 最后我试着编码,但没有结果。
$fdata['status'] = "YES";
$fdata['data'] = $ffdata;
echo json_encode($fdata); 我正在尝试生成json数据结果,如::FB.jpg
样本数据::http://www.datafilehost.com/d/58c5d154
发布于 2015-08-14 11:51:38
如果json_encode()在编码数据集时遇到错误,它将返回false,这不会是echo。
为了确定操作是否错误,可以使用json_last_error()和json_last_error_msg()来确定出错的地方。
例如:
$json = json_encode($data);
if (json_last_error() !== JSON_ERROR_NONE) {
throw new RuntimeException(json_last_error_msg());
}如果出了问题,这应该会提供一些更有意义的信息。
此时,如果您得到的是WSOD而不是任何输出,那么您可能会遇到不同的问题;例如:致命错误或解析错误。在这种情况下,您应该确保在开发过程中启用了错误报告(最重要的是,确保在生产环境中禁用了它!)。
通常,最简单的方法是将以下内容添加到脚本的顶部:
<?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', true);希望这会有所帮助:)
https://stackoverflow.com/questions/32009270
复制相似问题