PHP:在mysql数据库中插入多维数组,仅限特定值
我有一个这样的多维数组PHP:在mysql数据库中插入多维数组,仅限特定值,php,mysql,arrays,multidimensional-array,Php,Mysql,Arrays,Multidimensional Array,我有一个这样的多维数组 Array => [0] => Array ( [address] => Zaa 6 [category_ids] => Array ( [0] => 100 [1] => 101
Array =>
[0] => Array
(
[address] => Zaa 6
[category_ids] => Array
(
[0] => 100
[1] => 101
)
[category_labels] => Array
(
[0] => Array
(
[0] => value1
[1] => value2
[2] => value3
[3] => value4
)
[1] => Array
(
[0] => value5
[1] => value6
[2] => value7
)
)
[city] => gg
[lat] => 37.964652
[lng] => 23.708208
[name] => New Place
[1]=> Array the same as above
每个数组都是一个记录
我想把所有的元素放在一个mysql数据库中。但在category_id列中,我想插入“100101”,在category_标签中,我只想输入每个数组的最后一个值,如“value4,value7”。我该怎么做?
我知道我可以使用end()
,count()
和内爆()
,但我不知道具体使用方法
<?php
$data=array(array(
"address" => "Zaa",
"category_ids" => array(100,101),
"category_labels" => array(array("value1","value2","value3","value4"),array("value5","value6","value7")),
"city" => "gg",
"lat" => "37.964652",
"lng" => "23.708208",
"name" => "New Place"));
foreach($data as $row)
{
echo $row['address']."<br>";
$ids=implode(",",$row['category_ids']);
echo $ids."<br>";
$l_array=array();
foreach($row["category_labels"] as $cat_label)
{
$count_l=count($cat_label);
array_push($l_array,$cat_label[$count_l -1]);
}
echo implode(",",$l_array)."<br>";
echo $row['city']."<br>";
echo $row['lat']."<br>";
echo $row['lng']."<br>";
echo $row['name']."<br>";
//write your query here by passing above parameters
}
?>
我想这正是你需要的。循环遍历数组并像这样使用内爆()
<?php
foreach($your_array as $key=>$val)
{
$ids ='';
$new_cat_label='';
$ids = implode(",",$val['category_ids']);
foreach($val['category_labels'] as $val1)
{
if(!empty($new_cat_label))
{
$new_cat_label.= " ,".end($val1);
}
else
{
$new_cat_label.= end($val1);
}
}
echo $ids." <br>";
echo $new_cat_label." <br>";
//here insert query
// insert into table_name (col1,col2)values($ids,$new_cat_label);
}
?>
这对您有帮助吗?是的,尽管我最初的问题不是如何将列插入数据库,而是如何从数组中获取所需的特定值。比如我在上面写的“100101”和“value4,value7”。这很好用!但我的问题是,ii在不同的行中显示value4 value7,而不是value4,value7将这些值放入数组中,然后将其内爆。。。然后它会给你价值4,价值7完美!在第二个foreach里面有一个计数器和一个if,我做到了!非常感谢你