重复字符串中的每个字符N次

时间:2015-02-10 08:51:55

标签: php arrays

我有一个值为1010的字符串,我可以知道将每个字符重复N次的最简单方法是什么,如果重复2次,结果将是11001100?谢谢。

5 个答案:

答案 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;
    ?>

http://php.net/str_repeat

答案 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];
        }
    }
?>