Current Location: Home> Latest Articles> What is array_intersect_key? A Detailed Guide to This PHP Function’s Purpose and Usage

What is array_intersect_key? A Detailed Guide to This PHP Function’s Purpose and Usage

gitbox 2025-09-02
<span><span><span class="hljs-meta">&lt;?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> =&gt; </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">"b"</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">"c"</span></span><span> =&gt; </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> =&gt; <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">" =&gt; "</span></span> . <span><span class="hljs-variable">$value</span></span> . <span><span class="hljs-string">"\n"</span></span>;
}
</span><span><span class="hljs-meta">?&gt;</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] =&gt; 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:

    1. array_intersect_key only compares array keys, not their values.

    1. 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] =&gt; 200
      
    • [c] =&gt; 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.
      */
      ?>