array_udiff_uassoc
Calculez l'ensemble de différence de tableaux avec les vérifications d'index et utilisez les fonctions de rappel pour comparer les données et les index
Comparez les noms de clés et les valeurs de clés de deux tableaux (comparer avec les fonctions définies par l'utilisateur) et renvoyez la différence:
<span class="token php language-php"><span class="token delimiter important"><? Php</span> <span class="token keyword">fonction</span> <span class="token function-definition function">myFunction_key</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">retour</span> <span class="token number">0</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">retour</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 keyword">fonction</span> <span class="token function-definition function">myFunction_value</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">retour</span> <span class="token number">0</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">retour</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">"vert"</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">"bleu"</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">"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">"vert"</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">"vert"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token variable">$ résultat</span> <span class="token operator">=</span><span class="token function"></span></span><mark> <span class="token function">array_udiff_uassoc</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_key"</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"myfunction_value"</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>