Heim > Backend-Entwicklung > PHP-Tutorial > 用php内置函数如何实现在php数组的值前面批量添加一个固定字符串

用php内置函数如何实现在php数组的值前面批量添加一个固定字符串

WBOY
Freigeben: 2016-06-06 20:47:43
Original
2376 Leute haben es durchsucht

比如原数组是

<code>array('1','2','3','4');
</code>
Nach dem Login kopieren
Nach dem Login kopieren

我需要得到的结果

<code>array('aaa1','aaa2','aaa3','aaa4');
</code>
Nach dem Login kopieren
Nach dem Login kopieren

用内置函数如何实现?

回复内容:

比如原数组是

<code>array('1','2','3','4');
</code>
Nach dem Login kopieren
Nach dem Login kopieren

我需要得到的结果

<code>array('aaa1','aaa2','aaa3','aaa4');
</code>
Nach dem Login kopieren
Nach dem Login kopieren

用内置函数如何实现?

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>
Nach dem Login kopieren

输出结果为:

<code>array(4) {
  [0]=>
  string(4) "aaa1"
  [1]=>
  string(4) "aaa2"
  [2]=>
  string(4) "aaa3"
  [3]=>
  string(4) "aaa4"
}
</code>
Nach dem Login kopieren

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>
Nach dem Login kopieren

<code><?php $a = array(1, 2, 3, 4);

    array_walk(
        $a, 
        function(&$value, $key, $prefix){$value = $prefix.$value;}, 
        'aaa'
    );

    var_dump($a);
</code></code>
Nach dem Login kopieren

@怡红公子 @Fwolf 可以看下我实现的这个版本,可以省去str_pad(), 完全用array_walk()实现,array_walk()不止能传递一个参数,可以看下手册。

PHP没有这样的内置函数。

自己写一个PHP版的吧,不复杂。

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage