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

array_map

为数组的每个元素应用回调函数
名称:array_map
分类:数组
所属语言: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">$v</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">$v</span><span class="token operator">*</span><span class="token variable">$v</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token variable">$a</span><span class="token operator">=</span><span class="token keyword">array</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">,</span><span class="token number">5</span><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 function"></span><mark><span class="token function">array_map</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"myfunction"</span><span class="token punctuation">,</span><span class="token variable">$a</span><span class="token punctuation">)</span></mark><span class="token punctuation"></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">$v</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">$v</span><span class="token operator">===</span><span class="token string double-quoted-string">"Dog"</span><span class="token punctuation">)</span>
  <span class="token punctuation">{</span>
  <span class="token keyword">return</span> <span class="token string double-quoted-string">"Fido"</span><span class="token punctuation">;</span>
  <span class="token punctuation">}</span>
<span class="token keyword">return</span> <span class="token variable">$v</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token variable">$a</span><span class="token operator">=</span><span class="token keyword">array</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"Horse"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"Dog"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"Cat"</span><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 function"></span><mark><span class="token function">array_map</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"myfunction"</span><span class="token punctuation">,</span><span class="token variable">$a</span><span class="token punctuation">)</span></mark><span class="token punctuation"></span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>

亲自试一试

例子 3

使用两个数组:

<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">$v1</span><span class="token punctuation">,</span><span class="token variable">$v2</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">$v1</span><span class="token operator">===</span><span class="token variable">$v2</span><span class="token punctuation">)</span>
  <span class="token punctuation">{</span>
  <span class="token keyword">return</span> <span class="token string double-quoted-string">"same"</span><span class="token punctuation">;</span>
  <span class="token punctuation">}</span>
<span class="token keyword">return</span> <span class="token string double-quoted-string">"different"</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">"Horse"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"Dog"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"Cat"</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">"Cow"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"Dog"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"Rat"</span><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 function"></span><mark><span class="token function">array_map</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"myfunction"</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></mark><span class="token punctuation"></span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>

亲自试一试

例子 4

将数组中值的所有字母改为大写:

<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">$v</span><span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token variable">$v</span><span class="token operator">=</span><span class="token function">strtoupper</span><span class="token punctuation">(</span><span class="token variable">$v</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
  <span class="token keyword">return</span> <span class="token variable">$v</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token variable">$a</span><span class="token operator">=</span><span class="token keyword">array</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"Animal"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"horse"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"Type"</span> <span class="token operator">=></span> <span class="token string double-quoted-string">"mammal"</span><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 function">array_map</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"myfunction"</span><span class="token punctuation">,</span><span class="token variable">$a</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>

亲自试一试

例子 5

将函数名赋值为 null 时:

<span class="token php language-php"><span class="token delimiter important"><?php</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">"Dog"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"Cat"</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">"Puppy"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"Kitten"</span><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 function"></span><mark><span class="token function">array_map</span><span class="token punctuation">(</span><span class="token constant">null</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></mark><span class="token punctuation"></span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>

亲自试一试

同类函数
  • 打乱数组 shuffle

    shuffle

    打乱数组
  • 检查数组里是否有指定的键名或索引 array_key_exists

    array_key_exists

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

    each

    返回数组中当前的键/值对并将数组指针向前
  • 使用传递的数组递归替换第一个数组的元素 array_replace_recursive

    array_replace_recursive

    使用传递的数组递归替换第一个数组的元素
  • 用回调函数对键名比较计算数组的差集 array_diff_ukey

    array_diff_ukey

    用回调函数对键名比较计算数组的差集
  • 对数组排序 sort

    sort

    对数组排序
  • 对数组按照键名排序 ksort

    ksort

    对数组按照键名排序
  • 对数组按照键名逆向排序 krsort

    krsort

    对数组按照键名逆向排序