欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

数组对象去除重复的值

程序员文章站 2024-02-20 09:09:40
...
	Array(    [4968] => WP_Post Object        (            [ID] => 4968            [post_author] => 1            [post_date] => 2013-11-30 14:32:54            [post_date_gmt] => 2013-11-30 06:32:54            [post_content] =>             [post_title] => taibei            [post_excerpt] => 来到台北的日子            [post_status] => inherit            [comment_status] => open            [ping_status] => open            [post_password] =>             [post_name] => taibei            [to_ping] =>             [pinged] =>             [post_modified] => 2013-11-30 14:32:54            [post_modified_gmt] => 2013-11-30 06:32:54            [post_content_filtered] =>             [post_parent] => 4058            [guid] => http://tanteng-wordpress.stor.sinaapp.com/uploads/2013/01/taibei.jpg            [menu_order] => 0            [post_type] => attachment            [post_mime_type] => image/jpeg            [comment_count] => 0            [filter] => raw        )    [4951] => WP_Post Object        (            [ID] => 4951            [post_author] => 1            [post_date] => 2013-11-29 14:38:33            [post_date_gmt] => 2013-11-29 06:38:33            [post_content] =>             [post_title] => taipei            [post_excerpt] => 台北路的生活            [post_status] => inherit            [comment_status] => open            [ping_status] => open            [post_password] =>             [post_name] => taipei-3            [to_ping] =>             [pinged] =>             [post_modified] => 2013-11-29 14:38:33            [post_modified_gmt] => 2013-11-29 06:38:33            [post_content_filtered] =>             [post_parent] => 4058            [guid] => http://tanteng-wordpress.stor.sinaapp.com/uploads/2013/01/taipei.jpgpsid1            [menu_order] => 0            [post_type] => attachment            [post_mime_type] => image/jpeg            [comment_count] => 0            [filter] => raw        )    [4940] => WP_Post Object        (            [ID] => 4940            [post_author] => 1            [post_date] => 2013-11-28 12:53:08            [post_date_gmt] => 2013-11-28 04:53:08            [post_content] =>             [post_title] => 201304181305293855            [post_excerpt] =>             [post_status] => inherit            [comment_status] => open            [ping_status] => open            [post_password] =>             [post_name] => 201304181305293855            [to_ping] =>             [pinged] =>             [post_modified] => 2013-11-28 12:53:08            [post_modified_gmt] => 2013-11-28 04:53:08            [post_content_filtered] =>             [post_parent] => 4509            [guid] => http://tanteng-wordpress.stor.sinaapp.com/uploads/2013/09/201304181305293855.pngpsid1            [menu_order] => 0            [post_type] => attachment            [post_mime_type] => image/png            [comment_count] => 0            [filter] => raw        )    [4937] => WP_Post Object        (            [ID] => 4937            [post_author] => 1            [post_date] => 2013-11-28 09:55:07            [post_date_gmt] => 2013-11-28 01:55:07            [post_content] =>             [post_title] => wordpress-custom-query-string            [post_excerpt] =>             [post_status] => inherit            [comment_status] => open            [ping_status] => open            [post_password] =>             [post_name] => wordpress-custom-query-string            [to_ping] =>             [pinged] =>             [post_modified] => 2013-11-28 09:55:07            [post_modified_gmt] => 2013-11-28 01:55:07            [post_content_filtered] =>             [post_parent] => 4936            [guid] => http://tanteng-wordpress.stor.sinaapp.com/uploads/2013/11/wordpress-custom-query-string.jpg            [menu_order] => 0            [post_type] => attachment            [post_mime_type] => image/jpeg            [comment_count] => 0            [filter] => raw        )    [4931] => WP_Post Object        (            [ID] => 4931            [post_author] => 1            [post_date] => 2013-11-27 10:41:47            [post_date_gmt] => 2013-11-27 02:41:47            [post_content] =>             [post_title] => yming            [post_excerpt] =>             [post_status] => inherit            [comment_status] => open            [ping_status] => open            [post_password] =>             [post_name] => psb-1            [to_ping] =>             [pinged] =>             [post_modified] => 2013-11-27 10:41:47            [post_modified_gmt] => 2013-11-27 02:41:47            [post_content_filtered] =>             [post_parent] => 0            [guid] => http://tanteng-wordpress.stor.sinaapp.com/uploads/2013/11/psb-1.jpg            [menu_order] => 0            [post_type] => attachment            [post_mime_type] => image/jpeg            [comment_count] => 0            [filter] => raw        ))

我得到一个这样的对象数组,每个数组里面的对象的键要保留,但是post_parent的值相同的,只保留第一个,怎么写函数???

回复讨论(解决方案)

$st = array();foreach($ar as $i=>$o) {  if(in_array($o->post_parent, $st)) unset($ar[$i]);  else $st[] = $o->post_parent;}

$st = array();foreach($ar as $i=>$o) {  if(in_array($o->post_parent, $st)) unset($ar[$i]);  else $st[] = $o->post_parent;}

唠叨!哈哈,才知道哦.
大神,我不明白你的$ar是哪里来的。麻烦解释下被。
而且这个$o->post_partent是不是这个多维数组里的所有post_parent的值啊?
还有您这种写法,我很是迷糊。。您是不是又简写了!

$st = array();foreach($ar as $i=>$o) {  if(in_array($o->post_parent, $st)) unset($ar[$i]);  else $st[] = $o->post_parent;}


		$images =& get_children( 'post_type=attachment&post_mime_type=image&numberposts=5&post_parent=true' );		foreach ($images as $k=>$v){			$temp[$k]=$v->post_parent;		}		$temp=array_unique($temp);		$temp=array_filter($temp);		foreach ($temp as $k=>$v){			if(!is_imagetype($v)){				unset($temp[$k]);			}		}

我是这样写的,跟你的比真是弱爆了!!为了实现首页幻灯的效果,你看看,已经弄好了。
http://www.tantengvip.com/


$st = array();foreach($ar as $i=>$o) {  if(in_array($o->post_parent, $st)) unset($ar[$i]);  else $st[] = $o->post_parent;}

唠叨!哈哈,才知道哦.
大神,我不明白你的$ar是哪里来的。麻烦解释下被。
而且这个$o->post_partent是不是这个多维数组里的所有post_parent的值啊?
还有您这种写法,我很是迷糊。。您是不是又简写了!

$ar就是我输出的那一段数组对象

楼主的方法显然是想多了,显得太复杂

$arr = array();$comp = array_keys(array_unique(array_column($arr,'post_parent','id')));foreach ($arr as $k=>$v){	if(! in_array($v['id'], $comp)) unset($arr[$k]);}print_r($arr);