2011-05-06 43 views
2

得到最后一个元素,我有相似的初级讲座的字符串:更快的方式从字符串

a_b_c_d_1 
x_y_z_12 

现在,你可以看到,最后一个是一个数字。 我想提取它。我一惯遵循

步骤是:

1. explode(string), and store in array 
2. find length of array 
3. get value at key (arrayLength)-1 

但我认为必须要做到快速和更好的方式。所以,在这里问你所有的好人。

我该如何存档以下内容?

+1

你可以用$ V =爆炸( “_”,$ string);然后echo end($ v);至少保存你一步;-) – 2011-05-06 11:20:21

+0

什么是你的方法慢? – aib 2011-05-06 11:30:20

+0

另外,你想要第二个案件2或12? – aib 2011-05-06 11:31:03

回答

3

您可以使用strrpos查找某个字符串在另一字符串中最后一次出现。你可以用if语句跳过的东西,如果你知道有_中至少出现一次,但这里有一个故障安全的方法:

$last_start = strrpos($string, '_'); 
if($last_start !== false) { 
    $last_field = substr($string, $last_start); 
}else{ 
    $last_field = $string; 
} 
1

试试这个: substr(strrchr($string,'_'),1);

2

尝试

end(str_split($your_string))