[php] PHP 문자열의 마지막 7자를 어떻게 얻을 수 있습니까?

아래 문자열의 마지막 7자를 잡는 방법은 무엇입니까?

예를 들면 다음과 같습니다.

$dynamicstring = "2490slkj409slk5409els";
$newstring = some_function($dynamicstring);
echo "The new string is: " . $newstring;

다음과 같이 표시됩니다.

The new string is: 5409els



답변

substr()두 번째 인수에는 음수를 사용하십시오 .

$newstring = substr($dynamicstring, -7);

로부터 의 PHP 문서 :

string substr ( string $string , int $start [, int $length ] )

start가 음수이면 반환 된 문자열은 문자열의 끝부터 시작 문자에서 시작합니다.


답변

음 .. 그렇게 요?

$newstring = substr($dynamicstring, -7);


답변

멀티 바이트 문자 코드 작업에 대한보다 안전한 결과는 항상 substr 대신 mb_substr을 사용합니다. utf-8의 예 :

$str = 'Ne zaman seni düşünsem';
echo substr( $str, -7 ) . ' <strong>is not equal to</strong> ' .
  mb_substr( $str, -7, null, 'UTF-8') ;


답변

문자열을 얻기 전에 확인하는 것이 좋습니다.

$newstring = substr($dynamicstring, -7);

문자가 7보다 크면 7은 마지막 7자를 반환하고 그렇지 않으면 제공된 문자열을 반환합니다.

또는 길이가 7보다 작 으면 메시지 또는 오류를 반환 해야하는 경우이 작업을 수행하십시오.

$newstring = (strlen($dynamicstring)>7)?substr($dynamicstring, -7):"message";

substr 문서


답변

간단하게 메시지를 보내지 않으려면 다음을 시도하십시오.

$new_string = substr( $dynamicstring, -min( strlen( $dynamicstring ), 7 ) );


답변

마지막 7 자

$newstring = substr($dynamicstring, -7);

$ newstring : 5409els

처음 7 자

$newstring = substr($dynamicstring, 0, 7);

$ newstring : 2490slk


답변

문자열의 마지막 7 자 :

$ rest = substr ( “abcdefghijklmnop”, -7); // “jklmnop”을 반환