当前位置: 首页> 函数类别大全> array_uintersect_uassoc

array_uintersect_uassoc

带索引检查计算数组的交集,用单独的回调函数比较数据和索引
名称:array_uintersect_uassoc
分类:数组
所属语言:php
一句话介绍:比较数组,返回交集(比较键和值,使用两个用户自定义的键名比较函数)。

实例

比较两个数组的键名和键值(使用用户自定义函数进行比较),并返回交集(匹配):

<span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">function</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">return</span> <span class="token number">0</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">-</span><span class="token number">1</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token keyword">function</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">return</span> <span class="token number">0</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">-</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">"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 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><mark><span class="token function">array_uintersect_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></span>

亲自试一试

同类函数
  • 将数组中的内部指针向前移动一位 next

    next

    将数组中的内部指针向前移动一位
  • 从数组中随机取出一个或多个单元 array_rand

    array_rand

    从数组中随机取出一个或多个单元
  • 检查数组里是否有指定的键名或索引 array_key_exists

    array_key_exists

    检查数组里是否有指定的键名或索引
  • 对数组中所有值求和 array_sum

    array_sum

    对数组中所有值求和
  • 对数组逆向排序 rsort

    rsort

    对数组逆向排序
  • 去掉数组中的某一部分并用其它值取代 array_splice

    array_splice

    去掉数组中的某一部分并用其它值取代
  • 递归地合并一个或多个数组 array_merge_recursive

    array_merge_recursive

    递归地合并一个或多个数组
  • 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联 uasort

    uasort

    使用用户自定义的比较函数对数组中的值进行
热门文章