<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Irrelevant preface section</span></span><span>
</span><span><span class="hljs-variable">$dummyArray</span></span><span> = [</span><span><span class="hljs-string">"a"</span></span><span> => </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">"b"</span></span><span> => </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">"c"</span></span><span> => </span><span><span class="hljs-number">3</span></span><span>];
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$dummyArray</span></span> <span class="hljs-keyword">as</span></span> <span><span class="hljs-variable">$key</span></span> => <span><span class="hljs-variable">$value</span></span>) {
<span><span class="hljs-keyword">echo</span></span> <span><span class="hljs-variable">$key</span></span> . <span><span class="hljs-string">" => "</span></span> . <span><span class="hljs-variable">$value</span></span> . <span><span class="hljs-string">"\n"</span></span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
<p><hr></p>
<p></span><?php<br>
/**</p>
<ul>
<li>
<p>What is array_intersect_key? A detailed explanation of this PHP function’s purpose and usage</p>
</li>
<li></li>
<li>
<p>In PHP, array_intersect_key is an important function for working with arrays. Its main purpose</p>
</li>
<li>
<p>is to return an array containing elements whose keys exist in multiple arrays, regardless of their values.</p>
</li>
<li></li>
<li>
<p>Basic syntax:</p>
</li>
<li>
<p>array array_intersect_key(array $array1, array ...$arrays)</p>
</li>
<li></li>
<li>
<p>Parameter description:</p>
</li>
<li>
<ul>
<li>
<p>$array1: Required. The first input array.</p>
</li>
</ul>
</li>
<li>
<ul>
<li>
<p>...$arrays: Optional. One or more additional arrays to compare keys against.</p>
</li>
</ul>
</li>
<li></li>
<li>
<p>Return value:</p>
</li>
<li>
<p>Returns an array that contains only those elements from $array1 whose keys also appear in the other arrays.</p>
</li>
<li></li>
<li>
<p>Example usage:<br>
*/</p>
</li>
</ul>
<p>$array1 = [<br>
"a" => 100,<br>
"b" => 200,<br>
"c" => 300<br>
];</p>
<p>$array2 = [<br>
"b" => 400,<br>
"c" => 500,<br>
"d" => 600<br>
];</p>
<p>// Extract elements with the same keys from both arrays<br>
$result = array_intersect_key($array1, $array2);</p>
<p>print_r($result);</p>
<p>/**</p>
<ul>
<li>
<p>Output:</p>
</li>
<li>
<p>Array</p>
</li>
<li>
<p>(</p>
</li>
<li>
[c] => 300
)
As you can see, only the keys "b" and "c" exist in both $array1 and $array2. Therefore, the resulting array
contains the corresponding values from $array1.
Notes:
array_intersect_key only compares array keys, not their values.
The function can accept multiple arrays for comparison, and will return only the keys present in all arrays.
Example: Using multiple arrays
*/
$array3 = [
"c" => 700,
"b" => 800
];
$result2 = array_intersect_key($array1, $array2, $array3);
print_r($result2);
/**
Output:
Array
(
[b] => 200
[c] => 300
)
Here, the final result keeps only the keys that exist in $array1, $array2, and $array3 simultaneously.
Summary:
array_intersect_key is a powerful tool for handling key intersections in arrays. It is especially useful
when filtering specified keys in multidimensional or associative arrays, avoiding manual loops, and improving
code efficiency and readability.
*/
?>