2013-12-09 576 views
0

問題可能不清楚,但這是我想要實現的。獲取字符串中子字符串的第一個字母

我有以下字符串:

$input = 'foo_bar_buz_oof_rab'; 

我需要在輸出以下字符串:

$output = 'fbbor'; 

正如你所看到的,關鍵是要爆炸串_並獲得第一子字母的字母。什麼是最好的方法來獲得它?正則表達式,爆炸並遍歷子字符串?

+0

不知道你想要做什麼,但如果你打算把每一個首字母都轉換成大寫字母,那麼這是一個特殊的功能在php中稱爲ucfirst()|| http://www.php.net/manual/en/function.ucfirst.php –

+0

我只想得到如上所述的第一個字母。這裏不涉及任何轉型。 – hsz

+0

@hsz如何回答解決方案? – Tredged

回答

1
$words = explode("_", "BLA_BLA_BLA_BLA"); 
$acronym = ""; 

foreach ($words as $w) { 
    $acronym .= $w[0]; 
} 

您的意思是?

0

您可以使用和SUBSTR函數來達到這個

像下面

$str = "foo_bar_buz_oof_rab"; 

$arr = explode("_",$str); 
$new_str = ''; 
foreach($arr as $a){ 

    $new_str .= $new_str .substr($a,0,1); 

} 

echo $new_str; 

這將給你所需的輸出

+2

如果您已經使用。= concat運算符,則每次迭代循環時都會使$ new_str加倍。 – ThaMe90

0

我也做到了與:

$output = implode(array_map(function($k){ return $k[0]; }, explode('_', $input))); 
相關問題