php给每个数组元素加上前缀
比如原数组是
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);
php给每个数组元素加上前缀的更多相关文章
- 【C语言】12-指向一维数组元素的指针
一.用指针指向一维数组的元素 1 // 定义一个int类型的数组 2 int a[2]; 3 4 // 定义一个int类型的指针 5 int *p; 6 7 // 让指针指向数组的第0个元素 8 p ...
- C语言学习笔记 (007) - 数组指针和通过指针引用数组元素的方法总结
1.数组指针:即指向数组的指针 那么, 如何声明一个数组指针呢? ]; /*括号是必须写的,不然就是指针数组:10是数组的大小*/ 拓展:有指针类型元素的数组称为指针数组. 2.通过指针引用数组元素的 ...
- 【C语言】指向一维数组元素的指针
本文目录 一.用指针指向一维数组的元素 二.用指针遍历数组元素 三.指针与数组的总结 四.数组.指针与函数参数 前面我们已经学习了指针,如果指针存储了某个变量的地址,我们就可以说指针指向这个变量.数组 ...
- 【C语言】-指向一维数组元素的指针
本文目录 一.用指针指向一维数组的元素 二.用指针遍历数组元素 三.指针与数组的总结 四.数组.指针与函数参数 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能 ...
- c语言——数组指针和通过指针引用数组元素的方法总结
1.数组指针:即指向数组的指针 那么, 如何声明一个数组指针呢?int (* p)[10]; /*括号是必须写的,不然就是指针数组:10是数组的大小*/1拓展:有指针类型元素的数组称为指针数组. 2. ...
- JavaScript系列——数组元素左右移动N位算法实现
引言 在自己刚刚毕业不久的时候,去了一家公司面试,面试官现场考了我这道题,我记忆深刻,当时没有想到思路,毫无疑问被面试官当成菜鸟了.最近刚好在研究数组的各种算法实现,就想到这道题,可以拿来实现一下,纪 ...
- java 在循环中删除数组元素
在写代码中经常会遇到需要在数组循环中删除数组元素的情况,但删除会导致数组长度变化. package com.fortunedr.thirdReport; import java.util.ArrayL ...
- js颠倒数组元素顺序reverse()
颠倒数组元素顺序reverse() reverse() 方法用于颠倒数组中元素的顺序. 语法: arrayObject.reverse() 注意:该方法会改变原来的数组,而不会创建新的数组. 定义数组 ...
- js指定分隔符连接数组元素join()
指定分隔符连接数组元素join() join()方法用于把数组中的所有元素放入一个字符串.元素是通过指定的分隔符进行分隔的. 语法: arrayObject.join(分隔符) 参数说明: 注意:返回 ...
随机推荐
- 【hihoCoder】每周一题(从week 220开始)
2018/9/17-2018/9/23 week 220 push button I 题目链接:https://hihocoder.com/contest/hiho220/problem/1 有N个 ...
- rest framework之渲染器
一.内置渲染器 REST框架包括许多内置的Renderer类,它们允许你使用各种媒体类型返回响应.还支持定义你自己的自定义渲染器. 内置渲染器的使用 1.全局设置 可以使用DEFAULT_RENDER ...
- 深入理解Magento – 第七章 – 自定义Magento系统配置
Magento拥有十分强大的后台管理系统.作为一名开发人员,这套后台管理系统可以让你的用户简单直接的配置Magento系统或者你创建的模块.和Magento的其他功能一样,你第一次使用这套管理系统的时 ...
- 【LeetCode 25】K 个一组翻转链表
题目链接 [题解] 模拟就好. 就k个k个节点地翻转. 每个节点都把next域指向它前面那个节点 修改完之后把这个节点前面的那个节点的next域改成这一段的最后一个节点. 然后把这一段最左边的那个节点 ...
- python实现语音录入识别
一.介绍 1.第一步录音存入本地 2.调用百度语音识别sdk 注意点:百度语音识别对声音源有要求,比特率必须是256kbps 二.代码 #安装必要库 pip install baidu-aip #百度 ...
- SVG和canvas
1.SVG实现的圆环旋转效果 参考:http://www.softwhy.com/article-6472-1.html 2.SVG中的图形可以通过 transform="matrix(0 ...
- 微信中location.reload失效
var len = window.location.href.indexOf("?"); if(len>0){ window.location.href=window ...
- npm install 超时 国内 切换源; npm ERR! code ELIFECYCLE;
install 超时 查看npm源地址 npm config get registry #http://registry.npmjs.org 为国外镜像地址 设置阿里云镜像 npm config se ...
- C++——extern
1.当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应 ...
- strlen、strcpy和strcmp源码
1.不使用库函数实现strcpy #include <assert.h> char *strcpy(char *dst, const char *src) { assert((dst != ...