从字符串中弹出字符串的最后x个字节并返回它。除了像这样的自定义函数之外,在PHP中还有什么经典的方法可以做到这一点吗?
function string_pop(&$str, $num) {
$pop = substr($str, - $num);
$str = substr($str, 0, strlen($str) - $num);
return $pop;
}发布于 2014-07-11 18:19:30
也许是像这样的
list($str, $pop) = str_split($str, strlen($str) - $num);编辑:正如Gergo Erdosi所指出的,只有当$num小于$str长度的一半时,此代码才能工作。如果不这样的话,下面的代码将会起作用。
$arr = str_split($str, strlen($str) - $num);
$pop = array_pop($arr);
$str = implode('', $arr);但是这个函数是否比你原来的函数更优雅还有待商量。
发布于 2014-07-11 18:48:37
不确定它是最有效的,但这里有一行代码:
list($str, $pop) = preg_split('/(?<=.{'.(strlen($str) - $num).'})/', $str, 2);https://stackoverflow.com/questions/24695322
复制相似问题