PHP错误 - 注意:数组到字符串转换时的字符串转换

时间:2016-09-16 07:49:43

标签: php arrays for-loop

我试图编写一个函数,该函数将$s参数分割成字母,从而创建一个$s字母数组。

$n是字母计数器,因此最多可循环10个字母并返回EricEricEr

第一个问题:我理解我在数组中创建一个数组,因为我想收到内部数组的字符串,我需要将它内爆两次。

第二个问题:我无法打印10个第一个字母,只能打印10次(即EricEricEricEric ... 10次)。

预期结果:我希望for循环i覆盖字母,并在到达$n时打印所有字母而不用胶水,只是连续地,接收此特定示例函数的结果参数:EricEricEr

function letterCounter($s, $n){
    for ($i = 0; $i<=$n; $i++){
        $split [] = str_split($s);
    }
    $imploded = implode($split);
    return $imploded;
}
$result = letterCounter('Eric', 10);
echo '<pre>';
print_r($result);
echo '</pre>';

2 个答案:

答案 0 :(得分:2)

这样做但您可以改进代码

function letterCounter($s, $n)
{
    $split = str_split($s); //array of splitted $s into letters
    $count=0;
    $str = "";
    while($count<$n){

        foreach($split as $char){
            if($count>=$n)
                break;
            $str.= $char;
            $count++;
        }
    }
    return $str;
}

$result = letterCounter('Eric', 10);
echo '<pre>';
print_r($result);
echo '</pre>';

答案 1 :(得分:1)

不确定我是否在这里,但PHP得到了你需要的一切:

$string = "Eric";
str_pad($string, 10, $string);
  

&#34; EricEricEr&#34;