-1

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

<?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()来完成其余的工作。

4

2 回答 2

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
于 2013-08-18T00:11:57.950 回答
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.

于 2013-08-18T00:15:55.857 回答