我正在尝试在 PHP 中访问该数组的值。这是一个多维数组。 我需要从数组中获取值并将其插入数据库中。 插入是问题的第二部分。第一部分是从中获取值。
JSON -
{
"itempicture":[
{
"status":"3"
},
{
"ItemCode":"001",
"ItemImage":"image1",
"ItemCategory":"shirt",
"ShowOnPOS":"Yes",
"LastModifiedOn":"2018-06-02 11:53:57"
},
{
"ItemCode":"002",
"ItemImage":"image2",
"ItemCategory":"shirt",
"ShowOnPOS":"Yes",
"LastModifiedOn":"2018-06-02 11:53:57"
}]}
这里的“itempicture”是表名,所有的键,即“itemcode”、“itemimage”等都是 SQL 列。
我需要获取 SQL 列的值并将其插入到数据库中。
到目前为止我已经尝试过 -
$data = file_get_contents($url);
$json_array = (array)(json_decode($data));
print_r($json_array);
foreach($user->itempicture as $mydata)
{
echo $mydata->itempicture . "\n";
foreach($mydata->itempicture as $values)
{
echo $values->itempicture . "\n";
}
}
使用MYSQL以面向对象的方式将其插入到数据库中,使用一个简单的查询,如“INSERT INTO table_name 值(值 1、值 2、值 3、...)”
因此表名称将是数组中存在的“itepicture”,值将是数组中键的值。
最佳答案
这可能会有所帮助。您不需要使用 foreach
循环遍历属性并进行打印,而是需要使用它们构建一个数组以用作准备好的查询的参数,或者直接构建查询。但这向您展示了如何访问这些属性 -
<?php
$j='{
"itempicture":[
{
"status":"3"
},
{
"ItemCode":"001",
"ItemImage":"image1",
"ItemCategory":"shirt",
"ShowOnPOS":"Yes",
"LastModifiedOn":"2018-06-02 11:53:57"
},
{
"ItemCode":"002",
"ItemImage":"image2",
"ItemCategory":"shirt",
"ShowOnPOS":"Yes",
"LastModifiedOn":"2018-06-02 11:53:57"
}]}';
$jo=json_decode($j);
print("status ".$jo->itempicture[0]->status."\n");
for($i=1;$i<count($jo->itempicture);$i++){
foreach($jo->itempicture[$i] as $prop=>$val){
print($prop." = ".$val."\n");
}
}
?>
关于mysql - 从多维数组获取值 | JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50817111/