php – 如何根据特定值从关联数组中删除重复值?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 如何根据特定值从关联数组中删除重复值?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2019字,纯文字阅读大概需要3分钟。
内容图文
![php – 如何根据特定值从关联数组中删除重复值?](/upload/InfoBanner/zyjiaocheng/704/090237bb975944feafc43190b1d65ff5.jpg)
我有一个看起来像这样的数组:
array(3) { ["fk_article_id"]=> string(1) "4" ["first_name"]=> string(6) "Ulrike" ["last_name"]=> string(10) "Grasberger" }
array(3) { ["fk_article_id"]=> string(1) "9" ["first_name"]=> string(5) "Frank" ["last_name"]=> string(9) "Neubacher" }
array(3) { ["fk_article_id"]=> string(3) "896" ["first_name"]=> string(2) "D." ["last_name"]=> string(5) "Bauer" }
array(3) { ["fk_article_id"]=> string(3) "896" ["first_name"]=> string(2) "S." ["last_name"]=> string(6) "Anders" }
array(3) { ["fk_article_id"]=> string(3) "896" ["first_name"]=> string(2) "M." ["last_name"]=> string(6) "Tsokos" }
array(3) { ["fk_article_id"]=> string(3) "897" ["first_name"]=> string(8) "Reinhard" ["last_name"]=> string(8) "Scholzen" }
现在我想做的是摆脱重复的“fk_article_id”值“896”,这样只留下第一个:
array(3) { ["fk_article_id"]=> string(3) "896" ["first_name"]=> string(2) "D." ["last_name"]=> string(5) "Bauer" }
我现在是array_unique()但我没有发现告诉函数只使用“fk_article_id”ID中的值的可能性.
我怎样才能做到这一点?
编辑:
它是三列db表的输出:
$authors_result = pg_query($query_authors) or trigger_error("An error occurred.<br/>" . mysql_error() . "<br />SQL-Statements: {$searchSQL}");
while ($row = pg_fetch_assoc($authors_result)) {
var_dump($row);
}
解决方法:
使用array_reduce的快速方法如下:
$unique = array_reduce($subject, function($final, $article){
static $seen = array();
if ( ! array_key_exists($article['fk_article_id'], $seen)) {
$seen[$article['fk_article_id']] = NULL;
$final[] = $article;
}
return $final;
});
编辑:似乎您不想使用汇总结果.以下是另外两个想法:
用PHP过滤
$seen = array();
while ($row = pg_fetch_assoc($authors_result)) {
// Skip this row if we have already seen its article id
if (array_key_exists($row['fk_article_id'], $seen)) {
continue;
}
// Note that we have seen this article
$seen[$row['fk_article_id']] = NULL;
// Do whatever with your row
var_dump($row);
}
在DB中过滤
这里的想法是更改正在执行的查询,以便重复的文章ID不会出现在结果集中.如何完成这将取决于您已经使用的查询.
内容总结
以上是互联网集市为您收集整理的php – 如何根据特定值从关联数组中删除重复值?全部内容,希望文章能够帮你解决php – 如何根据特定值从关联数组中删除重复值?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。