array_intersect_ukey
Use callback function to compare key names to calculate the intersection of arrays
Compare the key names of two arrays (using user-defined functions to compare key names) and return the intersection:
<span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token keyword">function</span> <span class="token function-definition function">myfunction</span> <span class="token punctuation">(</span> <span class="token variable">$a</span> <span class="token punctuation">,</span> <span class="token variable">$b</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token variable">$a</span> <span class="token operator">===</span> <span class="token variable">$b</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">return</span> <span class="token number">0</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">return</span> <span class="token punctuation">(</span> <span class="token variable">$a</span> <span class="token operator">></span> <span class="token variable">$b</span> <span class="token punctuation">)</span> <span class="token operator">?</span> <span class="token number">1</span> <span class="token punctuation">:</span> <span class="token operator">-</span> <span class="token number">1</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token variable">$a1</span> <span class="token operator">=</span> <span class="token keyword">array</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"a"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"red"</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"b"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"green"</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"c"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"blue"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token variable">$a2</span> <span class="token operator">=</span> <span class="token keyword">array</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"a"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"blue"</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"b"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"black"</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"e"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"blue"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token variable">$result</span> <span class="token operator">=</span><span class="token function"></span></span><mark> <span class="token function">array_intersect_ukey</span> <span class="token punctuation">(</span> <span class="token variable">$a1</span> <span class="token punctuation">,</span> <span class="token variable">$a2</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"myfunction"</span> <span class="token punctuation">)</span></mark><span class="token punctuation"></span> <span class="token punctuation">;</span> <span class="token function">print_r</span> <span class="token punctuation">(</span> <span class="token variable">$result</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token delimiter important">?></span>
Compare the key names of three arrays (using user-defined functions to compare key names) and return the intersection:
<span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token keyword">function</span> <span class="token function-definition function">myfunction</span> <span class="token punctuation">(</span> <span class="token variable">$a</span> <span class="token punctuation">,</span> <span class="token variable">$b</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token variable">$a</span> <span class="token operator">===</span> <span class="token variable">$b</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">return</span> <span class="token number">0</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">return</span> <span class="token punctuation">(</span> <span class="token variable">$a</span> <span class="token operator">></span> <span class="token variable">$b</span> <span class="token punctuation">)</span> <span class="token operator">?</span> <span class="token number">1</span> <span class="token punctuation">:</span> <span class="token operator">-</span> <span class="token number">1</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token variable">$a1</span> <span class="token operator">=</span> <span class="token keyword">array</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"a"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"red"</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"b"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"green"</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"c"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"blue"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token variable">$a2</span> <span class="token operator">=</span> <span class="token keyword">array</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"a"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"black"</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"b"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"yellow"</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"d"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"brown"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token variable">$a3</span> <span class="token operator">=</span> <span class="token keyword">array</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"e"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"purple"</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"f"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"white"</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"a"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"gold"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token variable">$result</span> <span class="token operator">=</span><span class="token function"></span></span><mark> <span class="token function">array_intersect_ukey</span> <span class="token punctuation">(</span> <span class="token variable">$a1</span> <span class="token punctuation">,</span> <span class="token variable">$a2</span> <span class="token punctuation">,</span> <span class="token variable">$a3</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"myfunction"</span> <span class="token punctuation">)</span></mark><span class="token punctuation"></span> <span class="token punctuation">;</span> <span class="token function">print_r</span> <span class="token punctuation">(</span> <span class="token variable">$result</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token delimiter important">?></span>