note 48183 added to function.array-intersect-assoc

From: Date: Tue, 14 Dec 2004 19:26:56 +0000
Subject: note 48183 added to function.array-intersect-assoc
Groups: php.notes 
Request: Send a blank email to php-notes+get-81794@lists.php.net to get a copy of this message
# ket tomb kulcs alapu metszetet szamitja ki, az erteken is ellenorzest vegez # # calculating (key base) intersection of arrays (value are checked) # use: $result_array = array_intersect_assoc($a1, $a2, $a3,..); # ## # original code by [jochem at iamjochem dawt com] : array_diff_keys() <?php function array_intersect_assoc() { $args = func_get_args(); $res = $args[0]; for ($i=1;$i<count($args);$i++) { if (!is_array($args[$i])) {continue;} foreach ($res as $key => $data) { if ( (!array_key_exists($key, $args[$i])) || ( (isset($args[$i][$key])) && ($args[$i][$key] !== $res[$key]) ) ) { unset($res[$key]); } } } return $res; } ?> <?php $array1 = array("a"=>"green", "b"=>"brown", "c"=>"blue", "red"); $array2 = array("a"=>"green", "b"=>"yellow", "c"=>"yellow", "red"); $a = array('a'=>'green', 'b'=>'brown', 'c'=>'yellow'); $b = array('a'=>'green', 'b'=>'brown', 'c'=>'yellow', 'e'=>'yellow'); $result_array = array_intersect_assoc($a, $b, $array1, $array2); ?> $args array will look like: ( 0 => ( a => green b => brown c => yellow ) 1 => ( a => green b => brown c => yellow e => yellow ) 2 => ( a => green b => brown c => blue 0 => red ) 3 => ( a => green b => yellow c => yellow 0 => red ) ) $result_array will look like: ( a => green ) ---- Manual Page -- http://www.php.net/manual/en/function.array-intersect-assoc.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+48183 Delete -- http://master.php.net/manage/user-notes.php?action=delete+48183&report=yes Reason: bad code -- http://master.php.net/manage/user-notes.php?action=delete+48183&report=yes&reason=bad+code Reason: spam -- http://master.php.net/manage/user-notes.php?action=delete+48183&report=yes&reason=spam Reason: useless example -- http://master.php.net/manage/user-notes.php?action=delete+48183&report=yes&reason=useless+example Reason: contains commercial links -- http://master.php.net/manage/user-notes.php?action=delete+48183&report=yes&reason=contains+commercial+links Reason: useless note -- http://master.php.net/manage/user-notes.php?action=delete+48183&report=yes&reason=useless+note Reject -- http://master.php.net/manage/user-notes.php?action=reject+48183&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#81794) next »