php json_解码循环仅通过唯一
我将此json格式的数据作为字符串接收到我的php代码中:php json_解码循环仅通过唯一,php,json,Php,Json,我将此json格式的数据作为字符串接收到我的php代码中: $json_str = {{ "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"John" , "lastName":"Doe" } } 这是一个循环: $emp = $_POST["emp"]; //this is the json str $emp_arr = jso
$json_str = {{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"John" , "lastName":"Doe" }
}
这是一个循环:
$emp = $_POST["emp"]; //this is the json str
$emp_arr = json_decode($emp);
foreach($emp_arr as $item) { //foreach element in $arr
$fname= $item->firstName; //etc
$lname= $item->lastName; //etc
//saving to DB line
}
在使用:json_decode($json_str)将其转换为php数组之后,我循环遍历它并将这些值写入数据库。
问题是,它只写了一次“约翰·多伊”。是否有什么东西可以防止这种循环中出现重复值,或者我应该以不同的方式对其进行解码?
我需要在数据库中使用此值两次
谢谢。请检查您的json对象。此代码适用于:
$json\u str='1〕[
{“firstName”:“John”,“lastName”:“Doe”},
{“姓氏”:“安娜”,“姓氏”:“史密斯”},
{“名字”:“约翰”,“姓氏”:“多伊”}
] ';
$emp\u arr=json\u decode($json\u str);
foreach($emp_arr作为$item){//foreach元素在$arr中
echo$fname=$item->firstName;//等
echo$lname=$item->lastName;//等
//保存到数据库行
}
请参阅。您的
json
无效
尝试使用此json
字符串
<?php
$json_str = '[{ "firstName":"John" , "lastName":"Doe" },{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"John" , "lastName":"Doe" }]';
$array = json_decode($json_str, true);
echo "<pre>";
print_r($array);
echo "</pre>";
for($i=0;$i<count($array);$i++)
{
$name=$array[$i]['firstName']." ".$array[$i]['lastName'];
$sql="INSERT INTO yourTable (nameField) VALUES ('$name')";
//DB Query
}
?>
请显示您得到的解码结果!有太多的可能性,没有显示您的代码,我们无法帮助。能否显示您的迭代
和插入
?只需在插入之前测试数据库中是否存在该值$json\u str
的值在您的示例中不是字符串。其实没什么。您发布的代码是无效的PHP,因此我们对此没有什么可说的。即使它是一个字符串(不知何故),它也是无效的JSON。如果您想提供更多信息,请回答您的问题。