如何添加每个字符的结尾和开头

时间:2019-04-20 20:40:45

标签: php

我有:TEXTRANDOM

我想替换为:

1T_1E_1X_1T_etc...

已解决:

<?php
$str = "TEXTRANDOM";
$len = strlen($str);
for($i = 0; $i < $len; ++$i) 
echo "1".$str[$i]."_";
?>

2 个答案:

答案 0 :(得分:1)

您可以像这样使用preg_split('//u', $yourText, -1, PREG_SPLIT_NO_EMPTY)array_map

$yourText = 'TEXTRANDOM';
// execute a function for every letter in your string
$arrayOfTags = array_map(function (string $letter): string {
    return '1'.$letter.'_'; // concat every letter with number and _
}, preg_split('//u', $yourText, -1, PREG_SPLIT_NO_EMPTY));
echo implode('', $arrayOfTags); // make the array into a string back again

str_split将字符串分成字节而不是字母。要将字符串拆分为字母数组,可以使用preg_split('//u', $yourText, -1, PREG_SPLIT_NO_EMPTY)
您也可以仅执行一个循环:

$arrayOfletters = preg_split('//u', $yourText, -1, PREG_SPLIT_NO_EMPTY);
foreach ($arrayOfletters as $letter) {
    echo '1'.$letter.'_';
}

答案 1 :(得分:-1)

已解决:

<?php
$str = "TEXTRANDOM";
$len = strlen($str);
for($i = 0; $i < $len; ++$i) 
echo "1".$str[$i]."_";
?>