<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 前置無關部分</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> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span> => </span><span><span class="hljs-variable">$value</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span> . </span><span><span class="hljs-string">" => "</span></span><span> . </span><span><span class="hljs-variable">$value</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/**
* 什麼是 array_intersect_key?詳細介紹這個 PHP 函數的作用和用法
*
* 在 PHP 中,array_intersect_key 是一個用於數組操作的重要函數。它的主要作用是
* 返回一個數組,該數組包含了存在於多個數組中的相同鍵名的元素,而不關心它們的值。
*
* 基本語法:
* array array_intersect_key(array $array1, array ...$arrays)
*
* 參數說明:
* - $array1: 必須的,第一個輸入數組。
* - ...$arrays: 可選的,其他一個或多個數組,用於比較鍵名。
*
* 返回值:
* 返回一個數組,這個數組只包含 $array1 中那些鍵也出現在其他數組中的元素。
*
* 使用示例:
*/</span>
</span><span><span class="hljs-variable">$array1</span></span><span> = [
</span><span><span class="hljs-string">"a"</span></span><span> => </span><span><span class="hljs-number">100</span></span><span>,
</span><span><span class="hljs-string">"b"</span></span><span> => </span><span><span class="hljs-number">200</span></span><span>,
</span><span><span class="hljs-string">"c"</span></span><span> => </span><span><span class="hljs-number">300</span></span><span>
];
</span><span><span class="hljs-variable">$array2</span></span><span> = [
</span><span><span class="hljs-string">"b"</span></span><span> => </span><span><span class="hljs-number">400</span></span><span>,
</span><span><span class="hljs-string">"c"</span></span><span> => </span><span><span class="hljs-number">500</span></span><span>,
</span><span><span class="hljs-string">"d"</span></span><span> => </span><span><span class="hljs-number">600</span></span><span>
];
</span><span><span class="hljs-comment">// 取出兩個數組中相同鍵的元素</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_intersect_key</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-variable">$array2</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
<span class="hljs-comment">/**
* 輸出結果:
* Array
* (
* [b] => 200
* [c] => 300
* )
*
* 可以看到,只有鍵 "b" 和 "c" 存在於 $array1 和 $array2 中,因此最終返回的數組
* 包含這些鍵對應的 $array1 中的值。
*
* 注意事項:
* 1. array_intersect_key 只比較數組的鍵名,不比較鍵值。
* 2. 函數可以同時接受多個數組進行比較,最終返回只保留那些在所有數組中都存在的鍵。
*
* 示例:多個數組
*/</span>
</span><span><span class="hljs-variable">$array3</span></span><span> = [
</span><span><span class="hljs-string">"c"</span></span><span> => </span><span><span class="hljs-number">700</span></span><span>,
</span><span><span class="hljs-string">"b"</span></span><span> => </span><span><span class="hljs-number">800</span></span><span>
];
</span><span><span class="hljs-variable">$result2</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_intersect_key</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-variable">$array2</span></span><span>, </span><span><span class="hljs-variable">$array3</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result2</span></span><span>);
<span class="hljs-comment">/**
* 輸出結果:
* Array
* (
* [b] => 200
* [c] => 300
* )
*
* 這裡,最终结果是保留同时存在於 $array1, $array2 和 $array3 中的鍵。
*
* 總結:
* array_intersect_key 是處理數組鍵名交集的利器,尤其適用於在多維數組或關聯數組
* 中篩選出指定的鍵,避免手動循環判斷,提高代碼效率和可讀性。
*/</span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>