将文本添加到数组的每个元素

时间:2013-08-18 00:04:00

标签: php

基本上我要做的是在数组的每个元素之前(和之后)添加文本。这是一个例子:

<?php 
    $word="code";
    $chars=preg_split('//', $word, -1, PREG_SPLIT_NO_EMPTY);
    print"<pre>";
    print_r($chars);
    print"</pre>";
?>

(是的,我需要正则表达式,所以我不能只使用str_split()

输出:

Array
(
    [0] => c
    [1] => o
    [2] => d
    [3] => e
)

现在我的最终目标是让最终的字符串成为: "shift+c","shift+o","shift+d","shift+e"

如果我可以在每个元素前面添加"shift+来获得帮助,那么我可以使用implode()来完成剩下的工作。

2 个答案:

答案 0 :(得分:1)

您可以遍历chars数组并连接所需的字符串。

<?php 
    $word="code";
    $chars=preg_split('//', $word, -1, PREG_SPLIT_NO_EMPTY);
    foreach($chars as $c){
        echo "shift+" . $c . " ";
    }
?>

输出:

shift+c shift+o shift+d shift+e

答案 1 :(得分:1)

这是基于我的评论的解决方案:

$word = 'code';
$result = array_map(function($c){ return "shift+$c"; }, str_split($word));

这是输出var_dump($result)

array(4) { 
  [0]=> string(7) "shift+c" 
  [1]=> string(7) "shift+o" 
  [2]=> string(7) "shift+d" 
  [3]=> string(7) "shift+e"
}

修改:如果您真的需要,可以使用preg_split中的结果作为array_map中的数组。