我想从字符串中获取最后一个 n 字符,在最后一个" - "字符。像:
$string = "something-123";
$substring = 123;
$string2 = "something-253672-something-21";
$substring2 = 21;
这些字符只能是数字。 我怎么能用PHP做到这一点? (抱歉英语不好)
答案 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
。)