2015-06-02 46 views
4

嗨我想要實現這個使用PHP爆炸,但我有麻煩做到這一點。如何使用大寫字母作爲分隔符來爆炸字符串?

這裏是使用上面的代碼我的代碼

<?php 
$capitals = array("A","B","C"); 
$word_break = "brandonBjakeCsullano"; 

$count = 0; 

while ($count <=2) 
{ 

$break = explode($capitals[$count++],$word_break) 


} 
echo $break[0]; 
echo "<br/>"; 
echo $break[1]; 

?> 

我能有這樣的結果:

brandonBjake

sullano

,這就是我想實現

布蘭登

傑克

sullano

感謝你的幫助。

任何戰略是可以接受的,而不是我做的風格.. 預先感謝

+0

出於好奇,爲什麼你會使用大寫字母作爲字符串分隔符?我強烈建議使用別的東西來識別拆分/爆炸。 – Epodax

+0

是的我也想用「 - 」或「/」,但是我的老闆想讓我用大寫字母把它放在一個數組中..如果有人能解決這個問題,請欣賞.. –

+0

'$ break'正在重置在'while'循環中。你只是得到第三次爆炸的結果。 Epodax正確使用單個非字母分隔符。 –

回答

1

總有美好的舊preg_split,它可以讓你使用正則表達式來拆分一個字符串轉換爲數組。

喜歡的東西(未經測試):

$names = preg_split('/[A-Z]/', 'brandonBjakeCsullano'); 
print_r($names); 
+0

你能給出一個工作代碼來使用這種風格嗎? –

+0

我很確定我發佈的代碼應該可以工作。你試過了嗎? '$ names'變量的值是多少? –

+0

是的,我試過了,但我不確定如何使用這種風格回顯值。 –

3

str_replace嘗試一起和explode作爲

$capitals = array("A","B","C"); 
$word_break = "brandonBjakeCsullano"; 
$word_break = str_replace($capitals, '/',$word_break); 
print_r(explode('/',$word_break));//Array ([0] => brandon [1] => jake [2] => sullano) 

編輯 ,如果你想呼應然後簡單地使用它作爲

echo implode('<br>',explode('/',$word_break));// instead of print_r 

1)如果你使用print_r(explode('/',$word_break));

OK (0.008 sec real, 0.008 sec wall, 14 MB, 71 syscalls) 

2)如果你使用echo implode("\n",explode('/',$word_break));

OK (0.008 sec real, 0.009 sec wall, 14 MB, 42 syscalls) 

3)如果你使用$res= explode('/',$word_break); foreach($res as $value){ echo $value."\n";
}

OK (0.012 sec real, 0.015 sec wall, 14 MB, 44 syscalls) 
+0

我看不到更多的循環需要很好的策略:) –

+0

是的,可以輕鬆實現,無需使用循環 –

+0

檢查我編輯回答它會迴應你的價值觀,而不使用循環 –

0

試試這個:

<?php 
$capitals = array("A","B","C"); 
$word_break = "brandonBjakeCsullano"; 
$arr=str_split($word_break); 
for($i=0;$i <=strlen($word_break);$i++){ 
    for($j=0;$j<=2;$j++){ 
     if($arr[$i]!=$capitals[$j]){ 
      $flag=TRUE; 
     } 
     else{ 
      $flag=FALSE; 
      echo '<br>'; 
      break; 
     } 

    } 
    if($flag==TRUE){ 
     echo $arr[$i]; 
    } 
} 

?> 
+0

此代碼有錯誤bro –

2

這裏是另一個嘗試:

<?php 
$capitals = array("A","B","C"); 
$string = "brandonBjakeCsullano"; 

$count = 0; 
$capitals = array("A","B","C"); 
$string = "brandonBjakeCsullano"; 
$string = str_replace($capitals, '/',$string); 
$res= explode('/',$string); 
foreach($res as $value){ 
    echo $value."<br>"; 
} 
?> 

輸出: -

brandon 
jake 
sullano 

供您參考Click Here

+0

我可否知道上面的查詢樣式會運行得更快? –

+0

我不明白你在問什麼? – RaMeSh

+0

我的意思是這裏有答案,運作良好,但我可以知道哪一個工作更快? –