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

亲自试一试

同类函数
  • 用“自然排序”算法对数组排序 natsort

    natsort

    用“自然排序”算法对数组排序
  • 从数组中取出一段 array_slice

    array_slice

    从数组中取出一段
  • 移除数组中重复的值 array_unique

    array_unique

    移除数组中重复的值
  • 将一个或多个单元压入数组的末尾(入栈) array_push

    array_push

    将一个或多个单元压入数组的末尾(入栈)
  • 对数组排序 sort

    sort

    对数组排序
  • 用给定的值填充数组 array_fill

    array_fill

    用给定的值填充数组
  • 新建一个数组 array

    array

    新建一个数组
  • 在数组开头插入一个或多个单元 array_unshift

    array_unshift

    在数组开头插入一个或多个单元