首页 > 解决方案 > JSON 使用 File_get_contents 获取 PHP 数组

问题描述

我正在尝试获取以下 json 内容。json的输出是这样的。我希望下面的 json 转换为 php 数组。

PHP

$requestBody = file_get_contents("php://input");
$requestData = json_decode($requestBody,true);
    if($requestData){
        $no = $requestData["no[]"];
    } else {
        $no = 0;
    }echo $no;

上一页 HTML

<input name="no[]" type="checkbox"/>

上面的代码返回一个空数组。如何将上述 JSON 转换为 php 对象数组。

标签: phparraysjsonfile-get-contents

解决方案


首先,确保您将表单数据发布为 JSON 而不是常规表单。一种方法是将表单序列化为 JSON 对象,然后通过 ajax 请求发送:

var formData = JSON.stringify($("#myForm").serializeArray());
//AJAX POST request here

然后在您的服务器代码上,$requestData将包含一个包含所有已发布数据的漂亮 php 数组,这意味着如果您的“ no”表单数据是一个数组,您将不得不迭代其值,您无法使用以下方法访问它们$requestData['no[]']

foreach($requestData['no'] as $no) {
    //do your stuff
}

推荐阅读