我有:TEXTRANDOM
我想替换为:
1T_1E_1X_1T_etc...
已解决:
<?php
$str = "TEXTRANDOM";
$len = strlen($str);
for($i = 0; $i < $len; ++$i)
echo "1".$str[$i]."_";
?>
答案 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]."_";
?>