将多个数组合并为具有唯一值php的数组

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了将多个数组合并为具有唯一值php的数组脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
知道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',1 => 'Thriller',)
array (
  0 => 'DIY',1 => 'Mystery',2 => 'SuPErnatural',)

但是,我只需要一个包含唯一值的数组,例如:

array (
  0 => 'Drama',4 => 'Thriller',5 => 'DIY',6 => 'Crime',7 => 'etc...'

)

如果我尝试在foreach循环之前创建一些数组然后将数据存储到其中,这种方法也不会给出结果.

也许,通过sql方法一个简单解决方案!?!?

@H_360_26@解决方法
请试试这段代码

sql

$query =“SELECT show_genres From tv_shows group by show_genres”;

PHP

$newArray  = array();

foreach ($result as $value) {

  $sh_genres = $value['show_genres'];
  $sh_genres_array = array_map('trim',$sh_genres));

  $newArray = array_merge($newArray,$sh_genres_array );    

}

$newuniqueArray = array_unique($newArray);

脚本宝典总结

以上是脚本宝典为你收集整理的将多个数组合并为具有唯一值php的数组全部内容,希望文章能够帮你解决将多个数组合并为具有唯一值php的数组所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。