当前位置: 首页> 函数类别大全> 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>

亲自试一试

同类函数
  • 使用指定的键和值填充数组 array_fill_keys

    array_fill_keys

    使用指定的键和值填充数组
  • 在数组开头插入一个或多个单元 array_unshift

    array_unshift

    在数组开头插入一个或多个单元
  • 在数组中搜索给定的值,如果成功则返回首个相应的键名 array_search

    array_search

    在数组中搜索给定的值,如果成功则返回首个
  • 带索引检查计算数组的差集,用回调函数比较数据和索引 array_udiff_uassoc

    array_udiff_uassoc

    带索引检查计算数组的差集,用回调函数比较
  • 对数组进行排序并保持索引关系 asort

    asort

    对数组进行排序并保持索引关系
  • 交换数组中的键和值 array_flip

    array_flip

    交换数组中的键和值
  • 计算数组的交集 array_intersect

    array_intersect

    计算数组的交集
  • 递归地合并一个或多个数组 array_merge_recursive

    array_merge_recursive

    递归地合并一个或多个数组