基本上我要做的是在数组的每个元素之前(和之后)添加文本。这是一个例子:
<?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()
来完成剩下的工作。
答案 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
中的数组。