gpt4 book ai didi

php - 编写 PHP 脚本将 JSON 转换为 PHP 数组并存储在 MySQL 中

转载 作者:行者123 更新时间:2023-11-29 11:08:35 25 4
gpt4 key购买 nike

我想从 JSON 数组创建 PHP 代码并将其写入 MySQL。我怎样才能做到这一点?下面是我的 JSON 数组:

{  
"school1":[
{
"name":"aaa Universe",
"url":"http:\/\/aaa_Universe.com\/"
},
{
"name":"bbb Universe",
"url":"http:\/\/bbb_Universe.com\/"
}
],
....................................
....................................
"school4":[
{
"name":"ggg Universe",
"url":"http:\/\/ggg_Universe.com\/"
},

{
"name":"hhh Universe",
"url":"http:\/\/hhh_Universe.com\/"
}
]
}

我编写了下面的 PHP 脚本来获得预期的结果。您能建议其他方式吗:

$data = file_get_contents ("list.json");
$json = json_decode($data, true);
foreach ($json as $key => $value) {
if (!is_array($value)) {
echo $key . '=>' . $value . '<br/>';
} else {
foreach ($value as $key => $val) {
echo $key . '=>' . $val . '<br/>';
}
}
}

最佳答案

当您生成动态查询时,几乎在所有情况下都应该使用 PHP 数据对象 (PDO) 方法。 PDO 可防止转义字符成为安全威胁或导致错误。这是link

也就是说,在您的特定情况下,我认为您只需要一个快速脚本来生成查询。我假设“school1”、“school2”...是表的外键。我将使用函数addslashes 来防止转义字符上的错误,而不是使用PDO。

$data = file_get_contents ("list.json");
$json = json_decode($data, true);

$statement = "";
foreach ($json as $school => $schools) {
if (count($schools) > 0) {
foreach($schools as $i => $schoolInfo){
if($statement == ""){
$statement .= "INSERT INTO dataBase.table (school,name,url) VALUES";
$statement .= " ('".addslashes($school)."', '".addslashes($schoolInfo['name'])."','" . addslashes($schoolInfo['url']) ."' )";
}else{
$statement .= ", ('".addslashes($school)."', '".addslashes($schoolInfo['name'])."','" . addslashes($schoolInfo['url']) ."' )";
}
}
}
}

echo $statement;

关于php - 编写 PHP 脚本将 JSON 转换为 PHP 数组并存储在 MySQL 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40986542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com