문자열의 마지막 x 바이트를 문자열에서 팝하여 반환합니다. PHP와 같은 커스텀 함수 이외의 모든 고전적인 방법?PHP의 string에 대한 array_pop?
function string_pop(&$str, $num) {
$pop = substr($str, - $num);
$str = substr($str, 0, strlen($str) - $num);
return $pop;
}
문자열의 마지막 x 바이트를 문자열에서 팝하여 반환합니다. PHP와 같은 커스텀 함수 이외의 모든 고전적인 방법?PHP의 string에 대한 array_pop?
function string_pop(&$str, $num) {
$pop = substr($str, - $num);
$str = substr($str, 0, strlen($str) - $num);
return $pop;
}
어쩌면 뭔가 편집
list($str, $pop) = str_split($str, strlen($str) - $num);
같은 : 게르 Erdosi 지적한 바와 같이
$num
이 $str
의 길이의 절반보다 작은 경우,이 코드는 작동합니다. 다음은 다르게 작동합니다. $arr = str_split($str, strlen($str) - $num);
$pop = array_pop($arr);
$str = implode('', $arr);
하지만이 기능이 본래의 기능보다 우아하든 더 복잡한 지 논란의 여지가 있습니다.
다음 변수로 코드를 실행하십시오 :'$ str = 'Lorem ipsum dolor sit amet.'; $ num = 20;'. –
아, 내 코드는 $ num이 문자열 길이의 절반보다 작은 경우에만 작동합니다. – MajorCaiger
확실하지가 가장 효율적이지만, 여기에 하나 라이너 :
list($str, $pop) = preg_split('/(?<=.{'.(strlen($str) - $num).'})/', $str, 2);
[지정된 위치에 의해 두 개의 별도의 문자열 (의 중복 가능성 http://stackoverflow.com/questions/3449348/separate -string-in-two-by-given-position) – halloei