note 48183 added to function.array-intersect-assoc
| From: | vandor at progressive dot hu | 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