首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PHP中使用数组遍历Json对象

如何在PHP中使用数组遍历Json对象
EN

Stack Overflow用户
提问于 2019-11-28 13:13:27
回答 6查看 571关注 0票数 0

我得到以下JSON格式的数据。

代码语言:javascript
运行
复制
{"Students":
[{"ID":"600","datetime":"26-11-2019 04-32-31","age":"12"},
{"ID":"601","datetime":"26-11-2019 04-32-31","age":"13"},
{"ID":"602","datetime":"26-11-2019 04-32-31","age":"12"},
{"ID":"603","datetime":"26-11-2019 04-32-31","age":"14"}
]}

我想编写一个PHP脚本来在MYSQL中插入这些数据。

我不知道如何编写循环来遍历这些数据。

我尝试了下面的代码,但它不起作用。

代码语言:javascript
运行
复制
//encode the Json request.
$obj = json_decode($content);

foreach($obj as $key){
 // $email = $decode['RouteID'];

}
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2019-11-28 13:21:34

代码语言:javascript
运行
复制
// creating connection to mysql
$servername = "localhost";
$username = "username";
$password = "password";

try {
    $conn = new PDO("mysql:host=$servername;dbname=DatbaseName", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }

$content = '{"Students":
[{"ID":"600","datetime":"26-11-2019 04-32-31","age":"12"},
{"ID":"601","datetime":"26-11-2019 04-32-31","age":"13"},
{"ID":"602","datetime":"26-11-2019 04-32-31","age":"12"},
{"ID":"603","datetime":"26-11-2019 04-32-31","age":"14"}
]}';
$data= json_decode($content);

foreach($data->Students as $student){

$sql = "INSERT INTO users (ID, datetime, age) VALUES (?,?,?)";
$conn->prepare($sql)->execute([$student->ID, $student->datetime, $student->age]);

}
票数 0
EN

Stack Overflow用户

发布于 2019-11-28 13:19:02

代码语言:javascript
运行
复制
$json = '{"Students":
[{"ID":"600","datetime":"26-11-2019 04-32-31","age":"12"},
{"ID":"601","datetime":"26-11-2019 04-32-31","age":"13"},
{"ID":"602","datetime":"26-11-2019 04-32-31","age":"12"},
{"ID":"603","datetime":"26-11-2019 04-32-31","age":"14"}
]}';
//convert json to array
$array = json_decode($json, true);

//loop
foreach($array['Students'] as $key => $val){
 echo "$key = $val \n"; 
}

//or print whole array
print_r($array);

print_r的结果如下:

代码语言:javascript
运行
复制
(
    [Students] => Array
        (
            [0] => Array
                (
                    [ID] => 600
                    [datetime] => 26-11-2019 04-32-31
                    [age] => 12
                )

            [1] => Array
                (
                    [ID] => 601
                    [datetime] => 26-11-2019 04-32-31
                    [age] => 13
                )

            [2] => Array
                (
                    [ID] => 602
                    [datetime] => 26-11-2019 04-32-31
                    [age] => 12
                )

            [3] => Array
                (
                    [ID] => 603
                    [datetime] => 26-11-2019 04-32-31
                    [age] => 14
                )

        )

)
票数 1
EN

Stack Overflow用户

发布于 2019-11-28 13:17:14

要循环遍历对象并获取其成员,可以尝试以下操作:

代码语言:javascript
运行
复制
foreach($json as $obj){
   echo $obj->name;
   .....

}

使用$key是行不通的!

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

https://stackoverflow.com/questions/59089726

复制
相关文章

相似问题

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