1
+ <?php
2
+ // +----------------------------------------------------------------------+
3
+ // | PHP Version 4 |
4
+ // +----------------------------------------------------------------------+
5
+ // | Copyright (c) 1997-2004 The PHP Group |
6
+ // +----------------------------------------------------------------------+
7
+ // | This source file is subject to version 3.0 of the PHP license, |
8
+ // | that is bundled with this package in the file LICENSE, and is |
9
+ // | available at through the world-wide-web at |
10
+ // | http://www.php.net/license/3_0.txt. |
11
+ // | If you did not receive a copy of the PHP license and are unable to |
12
+ // | obtain it through the world-wide-web, please send a note to |
13
+ // | [email protected] so we can mail you a copy immediately. |
14
+ // +----------------------------------------------------------------------+
15
+ // | Authors: Aidan Lister <[email protected] > |
16
+ // +----------------------------------------------------------------------+
17
+ //
18
+ // $Id: array_intersect_key.php,v 1.4 2005/01/26 04:55:13 aidan Exp $
19
+
20
+
21
+ /**
22
+ * Replace array_intersect_key()
23
+ *
24
+ * @category PHP
25
+ * @package PHP_Compat
26
+ * @link http://php.net/function.array_intersect_key
27
+ * @author Tom Buskens <[email protected] >
28
+ * @version $Revision: 1.4 $
29
+ * @since PHP 5.0.2
30
+ * @require PHP 4.0.0 (user_error)
31
+ */
32
+ if (!function_exists ('array_intersect_key ' )) {
33
+ function array_intersect_key ()
34
+ {
35
+ $ args = func_get_args ();
36
+ if (count ($ args ) < 2 ) {
37
+ user_error ('Wrong parameter count for array_intersect_key() ' , E_USER_WARNING );
38
+ return ;
39
+ }
40
+
41
+ // Check arrays
42
+ $ array_count = count ($ args );
43
+ for ($ i = 0 ; $ i !== $ array_count ; $ i ++) {
44
+ if (!is_array ($ args [$ i ])) {
45
+ user_error ('array_intersect_key() Argument # ' .
46
+ ($ i + 1 ) . ' is not an array ' , E_USER_WARNING );
47
+ return ;
48
+ }
49
+ }
50
+
51
+ // Compare entries
52
+ $ result = array ();
53
+ foreach ($ args [0 ] as $ key1 => $ value1 ) {
54
+ for ($ i = 1 ; $ i !== $ array_count ; $ i ++) {
55
+ foreach ($ args [$ i ] as $ key2 => $ value2 ) {
56
+ if ((string ) $ key1 === (string ) $ key2 ) {
57
+ $ result [$ key1 ] = $ value1 ;
58
+ }
59
+ }
60
+ }
61
+ }
62
+
63
+ return $ result ;
64
+ }
65
+ }
66
+
67
+ ?>
0 commit comments