gpt4 book ai didi

php - 通过PHP解析不完整字符串的json

转载 作者:行者123 更新时间:2023-11-29 11:00:26 24 4
gpt4 key购买 nike

我正在解析这个 json 数组,我想获取 type 对象并将其放入新列 type2 中,这是一行 我的 json 行,但我的第二行是差异,并且我收到通知,如何为类型设置条件以跳过此通知? 当我没有 type 时在我的 json 中这是我的第 1 行中的 json,没问题:

[{"id":"26","answer":[{"option":"3","text":"HIGH"}],"type":"3"},
{"id":"30","answer":[{"option":"3","text":"LOW"}],"type":"3"},
{"id":"31","answer":[{"option":"3","text":"LOW"}],"type":"3"}]

这是我的 json 第 2 行,没有 type,我得到两个 ,,:

[{"id":"26","answer":[{"option":"3","text":"HIGH"}]},
{"id":"30","answer":[{"option":"3","text":"LOW"}]},
{"id":"31","answer":[{"option":"3","text":"LOW"}]]

这是我的代码:

<?php
$con=mysqli_connect("localhost","root","","array");
mysqli_set_charset($con,"utf8");

// Check connection
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="SELECT `survey_answers`,us_id FROM `user_survey_start`";
if ($result=mysqli_query($con,$sql)){
while ($row = mysqli_fetch_row($result)){
$json = $row[0];
if(!is_null($json)){
$jason_array = json_decode($json,true);

// type2
$type = array();
foreach ($jason_array as $data) {
$type[] = $data['type'];
}
$types= implode(',',$type);
$sql2="update user_survey_start set type2='$types' where us_id=".$row[1];//run update sql
echo $sql2."<br>";
mysqli_query($con,$sql2);
}
}
}
mysqli_close($con);
?>

这是我的输出:注意:未定义索引:第 20 行输入 C:\wamp64\www\json\json.php更新 user_survey_start 设置 type2=',,' 其中 us_id=256793

最佳答案

当您尝试使用不存在的数组键时,会出现“未定义索引”消息。

当使用不知道键是否存在的数组时,您需要在尝试使用它之前检查它是否存在。

foreach ($jason_array as $data) {
// If $data doesn't have a key called 'type', you'll get that notice.
$type[] = $data['type'];
}

我们来使用PHP的函数array_key_exists()检查 key 是否存在:

foreach ($jason_array as $data) {
if (array_key_exists('type', $data)) {
// Now we will only use it if the key 'type' actually exists
$type[] = $data['type'];
}
}

了解更多关于PHP: “Notice: Undefined variable”, “Notice: Undefined index”, and “Notice: Undefined offset”的信息

关于php - 通过PHP解析不完整字符串的json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42384181/

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