2016-09-16 94 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 「