我知道在Stack Overflow上有很多类似的主题,但是没有一个适用于我的情况。
我的目标是从数据库中获取唯一的展示类型。它们存储在show_genres列中,以逗号分隔(1,2,3或更多)。
$link = mysqli_connect('127.0.0.1', 'root', 'pw', 'db');
$query = "SELECT show_genres FROM tv_shows";
$result = mysqli_query($link, $query);
foreach ($result as $value) {
$sh_genres = $value['show_genres'];
$sh_genres_array = array_map('trim', explode(',',$sh_genres));
// $doesnt_work = call_user_func_array("array_merge",
$sh_genres_array); // doesn't work for me
echo '<pre>' . var_export($sh_genres_array, true) . '</pre>';
}
我的结果如下:
array (
0 => 'Drama',
1 => 'Action',
2 => 'Crime',
)
array (
0 => 'Drama',
1 => 'Crime',
)
array (
0 => 'Drama',
1 => 'Thriller',
)
array (
0 => 'DIY',
)
array (
0 => 'Drama',
1 => 'Mystery',
2 => 'Supernatural',
)
然而,我只需要一个包含唯一值的数组,例如:unique values。
array (
0 => 'Drama',
1 => 'Mystery',
2 => 'Supernatural',
4 => 'Thriller',
5 => 'DIY',
6 => 'Crime',
7 => 'etc...'
)
如果我在foreach循环之前尝试创建一些数组,然后将数据存储到其中,这种方法也不能得到结果。
也许,通过SQL有更简单的解决方案!?!