首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php编码不编码数组

php编码不编码数组
EN

Stack Overflow用户
提问于 2015-08-14 11:44:46
回答 1查看 2K关注 0票数 0

我有php数组,如(( print_r($fdata);))

代码语言:javascript
复制
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数组,其中我从数据库加载数据。

代码语言:javascript
复制
$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

加载到数组之后,我将它们推送到另一个数组,如

代码语言:javascript
复制
  $ffdata = array();
  array_push($ffdata , $product ,$adv_arr,$benefits_arr,$terms_arr);    

最后我试着编码,但没有结果。

代码语言:javascript
复制
  $fdata['status'] = "YES";
              $fdata['data'] = $ffdata;
     echo json_encode($fdata);   

我正在尝试生成json数据结果,如::FB.jpg

样本数据::http://www.datafilehost.com/d/58c5d154

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-14 11:51:38

如果json_encode()在编码数据集时遇到错误,它将返回false,这不会是echo

为了确定操作是否错误,可以使用json_last_error()json_last_error_msg()来确定出错的地方。

例如:

代码语言:javascript
复制
$json = json_encode($data);

if (json_last_error() !== JSON_ERROR_NONE) {
    throw new RuntimeException(json_last_error_msg());
}

如果出了问题,这应该会提供一些更有意义的信息。

此时,如果您得到的是WSOD而不是任何输出,那么您可能会遇到不同的问题;例如:致命错误或解析错误。在这种情况下,您应该确保在开发过程中启用了错误报告(最重要的是,确保在生产环境中禁用了它!)。

通常,最简单的方法是将以下内容添加到脚本的顶部:

代码语言:javascript
复制
<?php

error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', true);

希望这会有所帮助:)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32009270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档