web-dev-qa-db-ja.com

PHP文字列の最後の7文字を取得する方法を教えてください。

下の文字列の最後の7文字をつかむにはどうすればよいでしょうか。

例えば:

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

どちらが表示されます。

The new string is: 5409els
230
Dave

2番目の引数には負の数を指定して substr() を使用します。

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

phpのドキュメント から:

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

startが負の場合、返される文字列は文字列の末尾から最初の文字までとなります。

509
Asaph

ええと..そのような?

$newstring = substr($dynamicstring, -7);
70
Vitaly Muminov

マルチバイト文字コードを扱うためのより安全な結果は、常に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') ;

tRUEを再試行します。

11
MERT DOĞAN

文字列を取得する前に確認することをお勧めします。

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

文字が7より大きい場合は最後の7文字を返し、それ以外の場合は提供された文字列を返します。

または長さが7より小さい場合にメッセージまたはエラーを返す必要がある場合はこれを行います。

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

substrのドキュメント

8
Abdul Manan

わかりやすくするために、メッセージを送信したくない場合は、これを試してください。

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

0
mariovials

最後の7文字

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

$ newstring:5409els

最初の7文字

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

$ newstring:2490slk

0
developper