Heim >Backend-Entwicklung >PHP-Tutorial >数组对象去除重复的值

数组对象去除重复的值

WBOY
WBOYOriginal
2016-06-23 14:38:321878Durchsuche

	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);

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn