比如原数组是

array('1','2','3','4');

我需要得到的结果

array('aaa1','aaa2','aaa3','aaa4');

用内置函数如何实现?

array_walk() + str_pad() 也可以实现:

<?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);

输出结果为:

array(4) {
[0]=>
string(4) "aaa1"
[1]=>
string(4) "aaa2"
[2]=>
string(4) "aaa3"
[3]=>
string(4) "aaa4"
}

如果不使用闭包效率会更高,但 str_pad() 需要带多个参数,而 array_walk 只能传递一个参数,
所以目前只能这样了。

嗯,直接是没有的,不过可以有简便写法什么的

<?php
$arr = array('1','2','3','4');
$arr = array_map(create_function('$item', 'return "aaa$item";'), $arr);
print_r($arr);
?>
<?php
$a = array(1, 2, 3, 4); array_walk(
$a,
function(&$value, $key, $prefix){$value = $prefix.$value;},
'aaa'
); var_dump($a);

最新文章

  1. [LeetCode] Isomorphic Strings 同构字符串
  2. 你必须知道的指针基础-1.预备篇:搭建GCC开发环境
  3. 网页中的&lt;th&gt;&lt;/th&gt;是什么意思
  4. [转载]T-SQL(MSSQL)语句查询执行顺序
  5. android gradle NDK简介
  6. 你不一定懂的cpu显示信息
  7. kenrnel 驱动中常用的宏
  8. HTML--11marquee标签
  9. java socker编程
  10. 盒子模型&amp;position定位
  11. sizeof运营商
  12. ubuntu16.04开机循环输入密码无法进入桌面的解决办法
  13. 机器学习入门04 - 使用TensorFlow的起始步骤 (First Steps with TensorFlow)
  14. createDocumentFragment() 方法
  15. CodeBlocks中去掉下划线的方法
  16. mycat分库分表 mod-long
  17. Scrum Meeting 10.30
  18. 1 多任务fork Unix/Linux/Mac
  19. 使用AsParallel 进行并行化处理数据
  20. Python通过fork的方式防止僵尸进程

热门文章

  1. idea 右键没有class文件的问题,,
  2. sql 投影查询
  3. JCF——工具类
  4. Vue2.0源码思维导图-------------Vue 构造函数、原型、静态属性和方法
  5. css3 动画+动画库
  6. robotframework悬浮菜单定位问题
  7. PE代码段中的数据
  8. 学习 Doug Lea 大神写的——Scalable IO in Java
  9. 2019秋第一次Java学习总结
  10. nginx基本配置各个参数说明