php对象数组拿相同,数组对象去除重复的值

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

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值