在逗号分隔的字符串中获取最后一个值

4

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

3,6,86,34,43,52

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

数字的大小可能会有所变化,因此尝试以下代码:

substr($numbers, -X)

我不认为它对我有帮助。

5个回答

6
这对您应该有效:
只需使用strrpos()获取最后一个逗号的位置,然后使用substr()获取最后一个逗号之后的字符串,例如:
$str = "3,6,86,34,43,52";
echo substr($str, strrpos($str, ",") + 1);

输出:

52

0
一个直接而简单的方法是截取最后一个逗号之前的所有内容。
代码: (演示)
$numbers = "3,6,86,34,43,52";
echo preg_replace('/.*,/', '', $numbers);
// 52

0
你可以这样做:
$numbers = "3,6,86,34,43,52";
$arr = explode(",",$numbers);

echo $arr[count($arr)-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);

就我个人而言,我认为易读和理解代码比效率更重要。如今计算能力很便宜,而开发人员的成本却很高。这就是为什么我会使用第一种方法,除非字符串中的元素数量变得很大。


0
我会将其 explode 成一个数组,然后获取最后一个元素:
$numbers = '3,6,86,34,43,52';
$arr = explode(',', $numbers);
echo $arr[count($arr) - 1];

要将最后两行合并,您可以使用 substr_count() 函数,例如 echo $number = explode(',', $numbers)[substr_count($numbers, ",")]; - Rizier123

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接