2013-12-09 81 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))); 
相关问题