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

亲自试一试

同类函数
  • count别名 sizeof

    sizeof

    count别名
  • 计算数组的差异 array_diff

    array_diff

    计算数组的差异
  • 打乱数组 shuffle

    shuffle

    打乱数组
  • 检查给定的数组是否是一个列表 array_is_list

    array_is_list

    检查给定的数组是否是一个列表
  • 用回调函数比较数据来计算数组的差集 array_udiff

    array_udiff

    用回调函数比较数据来计算数组的差集
  • 从数组中取出一段 array_slice

    array_slice

    从数组中取出一段
  • 将数组中的内部指针向前移动一位 next

    next

    将数组中的内部指针向前移动一位
  • 移除数组中重复的值 array_unique

    array_unique

    移除数组中重复的值
热门文章