时间:2021-07-01 10:21:17 帮助过:44人阅读
- <code>array('1','2','3','4');
- </code>
我需要得到的结果
- <code>array('aaa1','aaa2','aaa3','aaa4');
- </code>
用内置函数如何实现?
比如原数组是
- <code>array('1','2','3','4');
- </code>
我需要得到的结果
- <code>array('aaa1','aaa2','aaa3','aaa4');
- </code>
用内置函数如何实现?
array_walk() + str_pad() 也可以实现:
- <code><!--?php
- $ar = array('1','2','3','4');
- array_walk(
- $ar,
- function (&$s, $k, $prefix = 'aaa') {
- $s = str_pad($s, strlen($prefix) + strlen($s), $prefix, STR_PAD_LEFT);
- }
- );
- var_dump($ar);
- </code--></code>
输出结果为:
- <code>array(4) {
- [0]=>
- string(4) "aaa1"
- [1]=>
- string(4) "aaa2"
- [2]=>
- string(4) "aaa3"
- [3]=>
- string(4) "aaa4"
- }
- </code>
http://ideone.com/nI0IgC
如果不使用闭包效率会更高,但 str_pad() 需要带多个参数,而 array_walk 只能传递一个参数,
所以目前只能这样了。
嗯,直接是没有的,不过可以有简便写法什么的
- <code><!--?php
- $arr = array('1','2','3','4');
- $arr = array_map(create_function('$item', 'return "aaa$item";'), $arr);
- print_r($arr);
- ?-->
- </code>
- <code><!--?php
- $a = array(1, 2, 3, 4);
- array_walk(
- $a,
- function(&$value, $key, $prefix){$value = $prefix.$value;},
- 'aaa'
- );
- var_dump($a);
- </code--></code>
@怡红公子 @Fwolf 可以看下我实现的这个版本,可以省去str_pad()
, 完全用array_walk()
实现,array_walk()
不止能传递一个参数,可以看下手册。
PHP没有这样的内置函数。
自己写一个PHP版的吧,不复杂。
人气教程排行
-
174次
1
php如何获取跳转前的url
-
174次
2
php格林威治时间转换成当前时间的方法
-
174次
3
为什么php不能做大型系统?
-
174次
4
range函数怎么用
-
174次
5
php中计算页面加载时间几种方法总结_PHP教程
-
174次
6
求帮助,关于paypal支付返回值修改订单状态
-
174次
7
typecho怎么配置文章内容页?
-
174次
8
PhpStorm左侧structure不显示文件的方法列表是这么回事?
-
174次
9
查看PHP的环境变量_PHP
-
174次
10
PHP Primary script unknown 解决方法总结
-
174次
11
php的命名空间与自动加载实现方法
-
174次
12
解决laravel 出现ajax请求419(unknown status)的问题
-
173次
13
php 如何删除mysql记录
-
173次
14
PHP如何替换数组中的指定元素
-
173次
15
怎么去除字符串中非汉字、非字母、非数字的字符
-
173次
16
mysql如何一次执行多条SQL语句
-
173次
17
修改header里面的Connection为close解决方法
-
173次
18
PHP基于session.upload_progress 实现文件上传进度显示功能详解
-
173次
19
php5.6.x到php7.0.x特性小结
-
172次
20
php为什么会出现504错误