如何在字符串中的某个分隔符后获取最后一个值?

时间:2015-07-18 18:44:45

标签: php string

我有一个带有数字的字符串,存储在$numbers

3,6,86,34,43,52

在最后一个逗号后获取最后一个值的最简单方法是什么?在这种情况下,数字52将是最后一个值,我想将其存储在变量中。

号码的大小可能会有所不同,所以尝试:

substr($numbers, -X)

我认为没有帮助我。

如何获取字符串中最后一个逗号之后的数字,任何想法?

5 个答案:

答案 0 :(得分:5)

这应该适合你:

只需使用strrpos()获取最后一个逗号的位置,然后使用substr()获取最后一个逗号后的字符串,例如

$str = "3,6,86,34,43,52";
echo substr($str, strrpos($str, ",") + 1);

输出:

52

答案 1 :(得分:0)

只需用分隔符字符分解字符串,然后选择最后生成的标记:

<?php
$string = '3,6,86,34,43,52'; 
$tokens = explode(',', $string);
echo end($tokens);

另一种方法是使用正则表达式:

<?php
$string = '3,6,86,34,43,52'; 
preg_match('/,([0-9]+)$/', $string, $tokens);
echo end($tokens);

就我个人而言,我认为效率不那么重要,以至于现在很容易阅读和理解代码。计算能力便宜,开发人员很贵。这就是为什么我会使用第一种方法,期望字符串中的元素数量变大。

答案 2 :(得分:0)

你可以这样做:

$numbers = "3,6,86,34,43,52";
$arr = explode(",",$numbers);

echo $arr[count($arr)-1];

答案 3 :(得分:0)

我只是explode它到一个数组,并得到最后一个元素:

$numbers = '3,6,86,34,43,52';
$arr = explode(',', $numbers);
echo $arr[count($arr) - 1];

答案 4 :(得分:0)

如果字符串可以有空格,请使用preg_split

$str = '3,6,86, 34,43 ,52';

$nums = preg_split('/\s*,\s*/', $str);
echo end($nums);  // 52