2016-09-16 95 views
-1

我想写一个函数,将采取$s参数并将其拆分为字母,从而创建一个数组的字母$sPHP错误 - 注意:阵列到字符串转换imprioding阵列

$n是字母计数器,所以它会循环多达10个字母并返回EricEricEr

第一个问题:我知道我在数组中创建一个数组,因为我想要接收内部数组的字符串,所以我需要两次内插它。

第二期:我无法打印10个首字母,只有10个字(即EricEricEricEric ... 10次)。

预期结果:我想for循环i去了信件,并在到达时$n并没有胶水打印所有的字母,只是连续接收到这个具体的例子函数的结果PARAMS为: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

我没有得到任何错误在您的c ode: - https://eval.in/643264 –

+0

你-1这个问题?阅读整个问题怎么样? – clusterBuddy

+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>'; 
+0

优秀的答案,谢谢。请提出我的问题。 – clusterBuddy

1

不知道如果我有你在这里,但PHP有你需要的一切:

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

“EricEricEr “