我有一个值为1010
的字符串,我可以知道将每个字符重复N次的最简单方法是什么,如果重复2次,结果将是11001100
?谢谢。
答案 0 :(得分:1)
<?php
$string="1100";
echo repeatChars($string,3); //111111000000
function repeatChars($string,$times)
{
$parts=str_split($string);
foreach($parts as $part)
{
$output.=str_repeat($part,$times);
}
return $output;
}
<强> Fiddle 强>
abc
2
aabbcc
次{{1}}
答案 1 :(得分:1)
对于固定数量的重复,最简单的可能是这个:
echo preg_replace('/(.)/', '$0$0', '1010');
只需填写所需的重复次数$0
即可。
或者,对于可变数量的重复:
echo preg_replace('/(.)/', str_repeat('$0',$times), '1010');
$times
保存所需的(数字)重复次数。
答案 2 :(得分:0)
$str = "1010";
$n=2;
$newStr="";
for($i=0;$i<strlen($str);$i++){
for($j=0;$j<$n;$j++){
$newStr .= $str[$i];
}
}
echo $newStr; //11001100
<强> Demo 强>
答案 3 :(得分:0)
试试这个
<?php
$str = '1010';
$times=2;
$str_len=strlen($str);
$new_str='';
for($i=0;$i<$str_len;$i++){
$new_str.=str_repeat([$i],$times);
}
echo $new_str;
?>
答案 4 :(得分:0)
您必须首先将字符串分解为数组,然后根据需要浏览表格并重复每个字符。
<?php
$val = 1010;
$charToArray = str_split($val);
for($x=0; $x<=count($charToArray); $x++) {
for($y=1; $y<=2; $y++) { // repeat 2 time like your example
echo $charToArray[$x];
}
}
?>