我有一个带有数字的字符串,存储在$numbers
:
3,6,86,34,43,52
在最后一个逗号后获取最后一个值的最简单方法是什么?在这种情况下,数字52将是最后一个值,我想将其存储在变量中。
号码的大小可能会有所不同,所以尝试:
substr($numbers, -X)
我认为没有帮助我。
如何获取字符串中最后一个逗号之后的数字,任何想法?
答案 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