首页 > 解决方案 > PHP从帖子中获取JsonArray

问题描述

我在下面有这个JsonArray从 API 发送的,我想把它保存到数据库中,但是我无法获取数组的数据,总是一个空白。

[{
	"user": 7,
	"states": true
}, {
	"user": 13,
	"states": true
}, {
	"user": 10,
	"states": false
}]

这就是我试图得到的JsonArray

if($_SERVER['REQUEST_METHOD']=='POST'){

 $jsondata = json_decode(file_get_contents("php://input"),true);

    $user= $jsondata['user'];
    $status = $jsondata['states'];

    $Query = "insert table(user,states,) 
    values ('$user','$status ')";
}

谢谢你

标签: phparraysjson

解决方案


$jsondata由多维数组组成,您的数组如下所示:

Array
(
    [0] => Array
        (
            [user] => 7
            [states] => 1
        )

    [1] => Array
        (
            [user] => 13
            [states] => 1
        )

    [2] => Array
        (
            [user] => 10
            [states] => 
        )

)

并且您尝试在不使用任何特定索引或不使用任何循环的情况下插入。

解决方案是,您需要在此处使用循环在数据库中存储多行。

第二种解决方案是,您可以按原样存储这些数据,这意味着,在需要获取记录或需要显示数据时,将数据以 json 格式保存在一列中,而不是存储在多行和多列中,你可以使用json_decode().

旁注:我希望(user,states,)最后一个逗号只是一个错字。


推荐阅读