PHP:字符串中指定字符的最后n个字符?

时间:2015-06-19 11:54:50

标签: php string substr

我想从字符串中获取最后一个 n 字符,在最后一个" - "字符。像:

$string = "something-123";
$substring = 123;
$string2 = "something-253672-something-21";
$substring2 = 21;

这些字符只能是数字。 我怎么能用PHP做到这一点? (抱歉英语不好)

6 个答案:

答案 0 :(得分:5)

你可以爆炸字符串并解析结果数组的最后一个元素:

$splitted = explode("-", $string);
$numbers = end($splitted);

if (is_numeric($numbers)) {
    echo "Yay!";
} else {
    echo "Nay!";
}

答案 1 :(得分:0)

您可以使用此功能解决您的问题。

 return is_numeric(array_pop(explode('-', $string)));

答案 2 :(得分:0)

应该在一行中做到......

 substr($string, strrpos($string, '-') + 1);

答案 3 :(得分:0)

总有一个正则表达式:

preg_match('/.*-([0-9]+)$/',$yourstring,$match);
echo $match[1];

答案 4 :(得分:0)

以下代码将根据您的查询工作:

$mystring ="something-253672-something-21";
// Get position of last '-' character.
$pos = strrpos($mystring, "-");
// Get number after '-' character.
$last_number = substr($mystring,$pos+1);
echo $last_number;

答案 5 :(得分:0)

尝试以下单行:

$substring = (int)end((explode("-", $string)));

如果数字无效,它将始终为数字(0。)