php发送数组中的值到用户自定义函数并返回一个字符串的函数array_reduce()
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php发送数组中的值到用户自定义函数并返回一个字符串的函数array_reduce(),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1773字,纯文字阅读大概需要3分钟。
内容图文
![php发送数组中的值到用户自定义函数并返回一个字符串的函数array_reduce()](/upload/InfoBanner/zyjiaocheng/142/7a4e65827e4a4bb5821407d5b1576153.jpg)
实例
发送数组中的值到用户自定义函数,并返回一个字符串:
<?php function myfunction($v1,$v2) { return $v1 . "-" . $v2; } $a=array("Dog","Cat","Horse"); print_r(array_reduce($a,"myfunction")); ?>
定义和用法
array_reduce() 函数发送数组中的值到用户自定义函数,并返回一个字符串。
注释:如果数组是空的或者初始值未传递,该函数返回 NULL。
语法
array_reduce(array,myfunction,initial)
参数 | 描述 |
array | 必需。规定数组。 |
myfunction | 必需。规定函数的名称。 |
initial | 可选。规定发送到函数处理的第一个值。 |
技术细节
返回值: | 返回结果值。 |
PHP 版本: | 4.0.5+ |
更新日志: | 自 PHP 5.3.0 起,initial 参数接受多类型(混合的),PHP 5.3.0 之前的版本只支持整数。 |
更多实例
实例 1
带 initial 参数:
<?php function myfunction($v1,$v2) { return $v1 . "-" . $v2; } $a=array("Dog","Cat","Horse"); print_r(array_reduce($a,"myfunction",5)); ?>
实例 2
返回总和:
<?php function myfunction($v1,$v2) { return $v1+$v2; } $a=array(10,15,20); print_r(array_reduce($a,"myfunction",5)); ?>
array_reduce的强大不仅如此。看下面的例子。将数组$arr的首个元素弹出,作为初始值,避免min($result['min'], $item['min'])中$result为空。
否则最终结果min是空的。
$arr = array( array('min' => 1.5456, 'max' => 2.28548, 'volume' => 23.152), array('min' => 1.5457, 'max' => 2.28549, 'volume' => 23.152), array('min' => 1.5458, 'max' => 2.28550, 'volume' => 23.152), array('min' => 1.5459, 'max' => 2.28551, 'volume' => 23.152), array('min' => 1.5460, 'max' => 2.28552, 'volume' => 23.152), ); $initial = array_shift($arr); $t = array_reduce($arr, function($result, $item) { $result['min'] = min($result['min'], $item['min']); $result['max'] = max($result['max'], $item['max']); $result['volume'] += $item['volume']; return $result; }, $initial);
总之,这种写法比foreach更优雅,更少的定义变量。推荐使用。
以上就是php发送数组中的值到用户自定义函数并返回一个字符串的函数array_reduce()的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的php发送数组中的值到用户自定义函数并返回一个字符串的函数array_reduce()全部内容,希望文章能够帮你解决php发送数组中的值到用户自定义函数并返回一个字符串的函数array_reduce()所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。