3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [["id"=>"111","email_adr"=>"AAA","ad_owner_email"=>"BBB"], ["id"=>"111","email_adr"=>"BBB","ad_owner_email"=>"CCC"], ["id"=>"111","email_adr"=>"BBB","ad_owner_email"=>"AAA"], //<--discarded ["id"=>"500","email_adr"=>"QQQ","ad_owner_email"=>"PPP"], ["id"=>"500","email_adr"=>"PPP","ad_owner_email"=>"QQQ"], //<--discarded ["id"=>"999","email_adr"=>"PPP","ad_owner_email"=>"QQQ"], //<-saved because id=999 ["id"=>"888","email_adr"=>"PPP","ad_owner_email"=>"QQQ"], ["id"=>"888","email_adr"=>"PPP","ad_owner_email"=>"QQQ"], ["id"=>"888","email_adr"=>"QQQ","ad_owner_email"=>"PPP"], //<--discarded ]; $tmp1 = []; $array = array_unique($array, SORT_REGULAR); function getIndex($data,$ne){ foreach($data as $key=>$val){ if ($val['id'] === $ne['c'] && $val['email_adr'] === $ne['a'] && $val['ad_owner_email'] === $ne['b']) return $key; } return -1; } foreach($array as $record){ $tmp1[$record['id']][$record['email_adr']][] = $record['ad_owner_email']; } // print_r($tmp1); foreach($array as $ind=>$record){ $id = $record['id']; $em_owner = $record['ad_owner_email']; $em_adr = $record['email_adr']; if (isset( $tmp1[$id][$em_owner] ) && !empty( $tmp1[$id][$em_owner] ) && in_array( $em_adr, $tmp1[$id][$em_owner] ) && in_array( $em_owner, $tmp1[$id][$em_adr] ) ) { $tm1 = array_search($em_adr, $tmp1[$id][$em_owner]); $tm2 = array_search($em_owner, $tmp1[$id][$em_adr]); $in = getIndex($array, ['a'=>$em_owner, 'b'=>$em_adr, 'c'=>$id]); unset( $tmp1[$id][$em_adr][$tm2] ); unset( $tmp1[$id][$em_owner][$tm1] ); unset( $array[$in] ); } } sort($array); print_r($array);
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [0] => Array ( [id] => 111 [email_adr] => AAA [ad_owner_email] => BBB ) [1] => Array ( [id] => 111 [email_adr] => BBB [ad_owner_email] => CCC ) [2] => Array ( [id] => 500 [email_adr] => QQQ [ad_owner_email] => PPP ) [3] => Array ( [id] => 888 [email_adr] => PPP [ad_owner_email] => QQQ ) [4] => Array ( [id] => 999 [email_adr] => PPP [ad_owner_email] => QQQ ) )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
170.93 ms | 407 KiB | 5 Q