[英]php json encode not encoding array
我有类似((print_r($ fdata);))的php数组
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数据结果,例如:: http://s1.postimg.org/efvvx74xr/C29_CA6_EA8_CAA946_E44076_CA72_B98502932_BA2_A6_DE4517_FB.jpg
如果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);
希望这可以帮助 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.