Position actuelle: Accueil> Derniers articles> Qu'est-ce que Array_INTERSECT_KEY? Présentez les fonctions et l'utilisation de cette fonction PHP en détail

Qu'est-ce que Array_INTERSECT_KEY? Présentez les fonctions et l'utilisation de cette fonction PHP en détail

gitbox 2025-09-02
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// La partie frontale non pertinente</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> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span> =&gt; </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">" =&gt; "</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">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/**
 * Qu&#39;est-ce que array_intersect_key?Présentez ceci en détail PHP Fonctions et utilisation
 *
 * exister PHP milieu,array_intersect_key C&#39;est une fonction importante pour les opérations de tableau。Sa fonction principale est
 * Retourner un tableau,该数组包含了存exister于Plusieurs tableauxmilieu的相同键名的元素,Ne vous souciez pas de leurs valeurs。
 *
 * Syntaxe de base:
 * array array_intersect_key(array $array1, array ...$arrays)
 *
 * Description du paramètre:
 * - $array1: Doit être,Le premier tableau d&#39;entrée。
 * - ...$arrays: Facultatif,Un ou plusieurs autres tableaux,Utilisé pour comparer les noms de clés。
 *
 * Valeur de retour:
 * Retourner un tableau,Ce tableau ne contient que $array1 milieu那些键也出现exister其他数组milieu的元素。
 *
 * Exemple d&#39;utilisation:
 */</span>

</span><span><span class="hljs-variable">$array1</span></span><span> = [
    </span><span><span class="hljs-string">"a"</span></span><span> =&gt; </span><span><span class="hljs-number">100</span></span><span>,
    </span><span><span class="hljs-string">"b"</span></span><span> =&gt; </span><span><span class="hljs-number">200</span></span><span>,
    </span><span><span class="hljs-string">"c"</span></span><span> =&gt; </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> =&gt; </span><span><span class="hljs-number">400</span></span><span>,
    </span><span><span class="hljs-string">"c"</span></span><span> =&gt; </span><span><span class="hljs-number">500</span></span><span>,
    </span><span><span class="hljs-string">"d"</span></span><span> =&gt; </span><span><span class="hljs-number">600</span></span><span>
];

</span><span><span class="hljs-comment">// 取出两个数组milieu相同键的元素</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">/**
 * Résultat de sortie:
 * Array
 * (
 *     [b] =&gt; 200
 *     [c] =&gt; 300
 * )
 *
 * Peut voir,Seules les clés "b" et "c" 存exister于 $array1 et $array2 milieu,Par conséquent, le tableau final retourné
 * Contient le correspondant $array1 milieu的值。
 *
 * Choses à noter:
 * 1. array_intersect_key Comparez uniquement les noms clés du tableau,Ne comparez pas les valeurs clés。
 * 2. Les fonctions peuvent accepter plusieurs tableaux en même temps pour la comparaison,最终返回只保留那些exister所有数组milieu都存exister的键。
 *
 * Exemple:Plusieurs tableaux
 */</span>
</span><span><span class="hljs-variable">$array3</span></span><span> = [
    </span><span><span class="hljs-string">"c"</span></span><span> =&gt; </span><span><span class="hljs-number">700</span></span><span>,
    </span><span><span class="hljs-string">"b"</span></span><span> =&gt; </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">/**
 * Résultat de sortie:
 * Array
 * (
 *     [b] =&gt; 200
 *     [c] =&gt; 300
 * )
 *
 * ici,最终结果是保留同时存exister于 $array1, $array2 et $array3 milieu的键。
 *
 * Résumer:
 * array_intersect_key C&#39;est un outil puissant pour gérer l&#39;intersection des noms de clés de tableau,尤其适用于exister多维数组或关联数组
 * milieu筛选出指定的键,Évitez le jugement de boucle manuelle,提高代码效率et可读性。
 */</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>