array_udiff_uassoc
インデックスチェックを使用した配列の差セットを計算し、コールバック関数を使用してデータとインデックスを比較する
2つの配列のキー名とキー値(ユーザー定義の関数と比較)を比較し、違いを返します。
<span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token keyword">機能</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 number">0</span><span class="token keyword">を返します</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">-1</span> <span class="token punctuation">;</span><span class="token number"></span> <span class="token punctuation">}</span> <span class="token keyword">機能</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 number">0</span><span class="token keyword">を返します</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">-1</span> <span class="token punctuation">;</span><span class="token number"></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">"緑"</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">"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">"green"</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_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>