下の文字列の最後の7文字をつかむにはどうすればよいでしょうか。
例えば:
$dynamicstring = "2490slkj409slk5409els";
$newstring = some_function($dynamicstring);
echo "The new string is: " . $newstring;
どちらが表示されます。
The new string is: 5409els
2番目の引数には負の数を指定して 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') ;
tRUEを再試行します。
文字列を取得する前に確認することをお勧めします。
$newstring = substr($dynamicstring, -7);
文字が7より大きい場合は最後の7文字を返し、それ以外の場合は提供された文字列を返します。
または長さが7より小さい場合にメッセージまたはエラーを返す必要がある場合はこれを行います。
$newstring = (strlen($dynamicstring)>7)?substr($dynamicstring, -7):"message";
わかりやすくするために、メッセージを送信したくない場合は、これを試してください。
$ new_string = substr($ dynamicstring、-min(strlen($ dynamicstring)、7));
最後の7文字
$newstring = substr($dynamicstring, -7);
$ newstring:5409els
最初の7文字
$newstring = substr($dynamicstring, 0, 7);
$ newstring:2490slk