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);
我正在尝试生成像:: http://s1.postimg.org/efvvx74xr/C29_CA6_EA8_CAA946_E44076_CA72_B98502932_BA2_A6_DE4517_FB.jpg
这样的json数据结果答案 0 :(得分:3)
如果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);
希望这会有所帮助:)