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

array_intersect_ukey

用回调函数比较键名来计算数组的交集
名称:array_intersect_ukey
分类:数组
所属语言:php
一句话介绍:比较数组,返回交集(只比较键名,使用用户自定义的键名比较函数)。

实例

例子 1

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

<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</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">"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><mark><span class="token function">array_intersect_ukey</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></span>

亲自试一试

例子 2

比较三个数组的键名(使用用户自定义函数比较键名),并返回交集:

<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</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">"black"</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">"yellow"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"d"</span><span class="token operator">=></span><span class="token string double-quoted-string">"brown"</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">"e"</span><span class="token operator">=></span><span class="token string double-quoted-string">"purple"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"f"</span><span class="token operator">=></span><span class="token string double-quoted-string">"white"</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">"gold"</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_intersect_ukey</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></span>

亲自试一试

同类函数
  • 计算数组中的单元数目,或对象中的属性个数 count

    count

    计算数组中的单元数目,或对象中的属性个数
  • 用“自然排序”算法对数组进行不区分大小写字母的排序 natcasesort

    natcasesort

    用“自然排序”算法对数组进行不区分大小写
  • 返回数组中部分的或所有的键名 array_keys

    array_keys

    返回数组中部分的或所有的键名
  • 计算数组中所有值的乘积 array_product

    array_product

    计算数组中所有值的乘积
  • 合并一个或多个数组 array_merge

    array_merge

    合并一个或多个数组
  • 检查给定的数组是否是一个列表 array_is_list

    array_is_list

    检查给定的数组是否是一个列表
  • 返回数组中当前的键/值对并将数组指针向前移动一步-本函数已自 PHP 7.2.0 起废弃。强烈建议不要使用本函数。 each

    each

    返回数组中当前的键/值对并将数组指针向前
  • 使用用户自定义函数对数组中的每个元素做回调处理 array_walk

    array_walk

    使用用户自定义函数对数组中的每个元素做回