首页 > 解决方案 > 数组值返回 null

问题描述

我正在使用 ajax 进行发布请求并使用 json 格式发送数据。然后我使用 php 获取 json 并将其解码为一个数组。当我打印出整个数组时没有问题。我可以看到键值对。但是当我尝试打印出这个数组的索引值之一时,它返回 null。可能是什么问题?这是我的 ajax 请求

$(function() {
    $("#del").click(function() {
        var file_id = 32
        var file_update = 1321321

        var obj = {
            file_id: file_id,
            file_update: file_update
        };

        $.ajax({
            type: "post",
            url: "config/ajax.php",
            data: {
                "file_update": JSON.stringify(obj)
            },
            success: function(response) {
                alert(response);
            }
        })
    })
})

这是我的php代码

if (isset($_POST["file_update"])) {
    $file_update = json_decode($_POST["file_update"], true);
    $x = $file_update[0];
    var_dump($x);
    var_dump($file_update);
}

标签: phpjqueryjsonajax

解决方案


$file_update数组是关联的,因此它没有整数键,它的键是字符串

$file_update[0]不存在,并且如果您配置了正确的错误报告,则此语句应引发错误。

如果要访问特定的数组值,请使用:

$file_update['file_id'];
$file_update['file_update'];

如果要访问关联数组的第一个元素,可以使用以下命令:

$key = array_keys($file_update)[0];
$value = $file_update[$key];

推荐阅读