diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2005-12-03 23:42:58 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2005-12-03 23:42:58 +0000 |
commit | 7594c5530b03cbea84458d2bed2eb190cf310ae4 (patch) | |
tree | 2005e58970539c1214aaac88a76eea55faa29afe /etc/inc/array_intersect_key.inc | |
parent | a85f75c25cbf040fd63d5bec01ee59612f6d0b6e (diff) | |
download | pfsense-7594c5530b03cbea84458d2bed2eb190cf310ae4.zip pfsense-7594c5530b03cbea84458d2bed2eb190cf310ae4.tar.gz |
MFC array_intersect_key.inc
Diffstat (limited to 'etc/inc/array_intersect_key.inc')
-rw-r--r-- | etc/inc/array_intersect_key.inc | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/etc/inc/array_intersect_key.inc b/etc/inc/array_intersect_key.inc new file mode 100644 index 0000000..0cd5099 --- /dev/null +++ b/etc/inc/array_intersect_key.inc @@ -0,0 +1,67 @@ +<?php +// +----------------------------------------------------------------------+ +// | PHP Version 4 | +// +----------------------------------------------------------------------+ +// | Copyright (c) 1997-2004 The PHP Group | +// +----------------------------------------------------------------------+ +// | This source file is subject to version 3.0 of the PHP license, | +// | that is bundled with this package in the file LICENSE, and is | +// | available at through the world-wide-web at | +// | http://www.php.net/license/3_0.txt. | +// | If you did not receive a copy of the PHP license and are unable to | +// | obtain it through the world-wide-web, please send a note to | +// | license@php.net so we can mail you a copy immediately. | +// +----------------------------------------------------------------------+ +// | Authors: Aidan Lister <aidan@php.net> | +// +----------------------------------------------------------------------+ +// +// $Id$ + + +/** + * Replace array_intersect_key() + * + * @category PHP + * @package PHP_Compat + * @link http://php.net/function.array_intersect_key + * @author Tom Buskens <ortega@php.net> + * @version $Revision$ + * @since PHP 5.0.2 + * @require PHP 4.0.0 (user_error) + */ +if (!function_exists('array_intersect_key')) { + function array_intersect_key() + { + $args = func_get_args(); + if (count($args) < 2) { + user_error('Wrong parameter count for array_intersect_key()', E_USER_WARNING); + return; + } + + // Check arrays + $array_count = count($args); + for ($i = 0; $i !== $array_count; $i++) { + if (!is_array($args[$i])) { + user_error('array_intersect_key() Argument #' . + ($i + 1) . ' is not an array', E_USER_WARNING); + return; + } + } + + // Compare entries + $result = array(); + foreach ($args[0] as $key1 => $value1) { + for ($i = 1; $i !== $array_count; $i++) { + foreach ($args[$i] as $key2 => $value2) { + if ((string) $key1 === (string) $key2) { + $result[$key1] = $value1; + } + } + } + } + + return $result; + } +} + +?>
\ No newline at end of file |