現在の位置: ホーム> 関数カテゴリ一覧> array_udiff

array_udiff

コールバック関数を使用してデータを比較して、配列の違いセットを計算します
名前:array_udiff
カテゴリ:配列
対応言語:php
一言説明:配列を比較し、差セットを返します(ユーザー定義のキーネーム比較関数を使用して、値のみを比較します)。

例1

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</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">"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_udiff</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>

自分で試してみてください

例2

3つの配列(ユーザー定義関数を使用してキー値を比較する)のキー値を比較し、違いを返します。

 <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</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">"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 string double-quoted-string">"Yellow"</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">"Yellow"</span> <span class="token punctuation">、</span> <span class="token string double-quoted-string">"Black"</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">"a"</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">"b"</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">"yellow"</span> <span class="token punctuation">、</span> <span class="token string double-quoted-string">"black"</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</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>

自分で試してみてください

類似の関数
  • 配列内のすべての値を要約します array_sum

    array_sum

    配列内のすべての値を要約します
  • キー名で配列をソートします ksort

    ksort

    キー名で配列をソートします
  • 配列内のユニット数、またはオブジェクト内の属性の数を計算します count

    count

    配列内のユニット数、またはオブジェクト内
  • インデックスチェックを使用して、配列の差セットを計算します array_diff_assoc

    array_diff_assoc

    インデックスチェックを使用して、配列の差
  • アレイから1つ以上のユニットをランダムにフェッチします array_rand

    array_rand

    アレイから1つ以上のユニットをランダムに
  • アレイから現在のシンボルテーブルまで変数をインポートします extract

    extract

    アレイから現在のシンボルテーブルまで変数
  • ユーザー定義の比較関数を使用して、配列内の値を並べ替え、インデックスに関連するものにします uasort

    uasort

    ユーザー定義の比較関数を使用して、配列内
  • インデックスチェックと配列の交差点を計算し、コールバック関数を使用してデータを比較します array_uintersect_assoc

    array_uintersect_assoc

    インデックスチェックと配列の交差点を計算