从字符串中取回前 3 个字符

take from back the first 3 characters from a string

假设我有以下字符串:

$dynamicstring = "19949510234";

我想获取所有内容 ,但 字符串中的最后 8 个字符。
在这种情况下,这将是前 3 个字符,但也可以是 2 或 1。
这是我尝试过的方法,但如果我输入 2 个字符而不是 3 个字符,它仍然是 returns 3 个字符,我不想那样。

$dynamicstring = "19949510234";
$newstring = substr($dynamicstring,-8,-3);
echo "The new string is: " . $newstring;

只需从字符串的长度中减去 8 并将其用作 substr 的参数:

$newstring = substr($dynamicstring, 0, strlen($dynamicstring) - 8);