我有从外部数据库获取数据的功能,我获得了特定的电影信息,如id,name,genre等。现在,如果电影类型是动画,我想只将这一类型添加到db。现在我可以使用isset解决问题但是我将为genres null提供db条目,我想避免这种情况。什么是解决这个问题的最佳方法?使用foreach循环?
$records = array(
array('film_id' => $movies['id'], 'genre_id' => $movies['genre'][0]),
array('film_id' => $movies['id'], 'genre_id' => $movies['genre'][1]),
array('film_id' => $movies['id'], 'genre_id' => $movies['genre'][2])
);
$this->db->insert_batch('film_genre', $records);
答案 0 :(得分:0)
您也可以使用array_filter
$arr = array(
array("id"=>3, "genre"=>"action"),
array("id"=>13, "genre"=>"comedy"),
array("id"=>23, "genre"=>"action"),
array("id"=>53, "genre"=>"comedy"),
array("id"=>63, "genre"=>"drama"),
array("id"=>73, "genre"=>"action"),
array("id"=>83, "genre"=>"drama"),
);
function genre($var)
{
if($var['genre'] == 'action')
{
return $var;
// you can also do the insert here like $this->db->insert();
}
}
$filtered = array_filter($arr, "genre");
print_r($filtered)
答案 1 :(得分:0)
您可以使用Mysql的GROUP BY
函数