我试图编写一个函数,该函数将$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>';
答案 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;