數組對象去除重複的值

來源:互聯網
上載者:User
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);
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.