array_reduce
用回调函数迭代地将数组简化为单一的值
向用户自定义函数发送数组中的值,并返回一个字符串:
<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">return</span> <span class="token variable">$v1</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"-"</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 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">"Dog"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"Cat"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"Horse"</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_reduce</span><span class="token punctuation">(</span><span class="token variable">$a</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 punctuation">;</span> <span class="token delimiter important">?></span></span>
设置 initial 参数:
<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">return</span> <span class="token variable">$v1</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"-"</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 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">"Dog"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"Cat"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"Horse"</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_reduce</span><span class="token punctuation">(</span><span class="token variable">$a</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"myfunction"</span><span class="token punctuation">,</span><span class="token number">5</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>
返回总和:
<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">return</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 variable">$a</span><span class="token operator">=</span><span class="token keyword">array</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span><span class="token number">15</span><span class="token punctuation">,</span><span class="token number">20</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_reduce</span><span class="token punctuation">(</span><span class="token variable">$a</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"myfunction"</span><span class="token punctuation">,</span><span class="token number">5</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>