PHP で文字列の最後の文字を取得する方法

Minahil Noor 2023年1月30日
  1. PHP で文字列の最後の文字を取得するために substr() 関数を使用する
  2. PHP で直接文字列アクセスを使用して文字列の最後の文字を取得する
  3. PHP で for ループを使用して文字列の最後の文字を取得する
PHP で文字列の最後の文字を取得する方法

この記事では、文字列の最後の文字を取得するメソッドを紹介します。

  • substr() 関数を使用する
  • 文字列に直接アクセスする
  • for ループを使用する

PHP で文字列の最後の文字を取得するために substr() 関数を使用する

PHP に組み込まれている substr() 関数は、文字列の部分文字列を取得できます。この関数には 3つのパラメーターがあり、そのうちの 1つはオプションです。この関数を使用するための正しい構文は次のとおりです

substr($stringName, $startingPosition, $lengthOfSubstring);

$stringName は入力文字列です。$startngPosition は部分文字列の開始インデックスです。$lengthOfSubstring は部分文字列の長さです。変数 $stringName$startingPosition は必須パラメーターですが、$lengthOfSubstring はオプションのパラメーターです。$lengthOfSubstring が省略されると、サブストリングは $startngPosition から入力ストリングの終わりまで始まります。

<?php  
$string = 'This is a string';
$lastChar = substr($string, -1);
echo "The last char of the string is $lastChar.";
?>

$startingPosition に正の値がある場合、部分文字列は文字列の左側、つまり文字列の先頭から始まります。$startingPosition が負の場合、部分文字列は文字列の右側、つまり文字列の終わりから始まります。

文字列の最後の char を取得するには、ここで $startingPosition の値として -1 を渡します。-1 は文字列の最後の文字を意味します。

出力:

The last char of the string is g.

PHP で直接文字列アクセスを使用して文字列の最後の文字を取得する

文字列は文字の配列です。char の配列と見なすことで、文字列の最後の char を取得できます。

<?php  
$string = "This is a string";
$lengthOfString = strlen($string);
$lastCharPosition = $lengthOfString-1;
$lastChar = $string[$lastCharPosition];
echo "The last char of the string is $lastChar.";
?>

文字列の最後の文字のインデックスは、インデックスが 0 から始まるため、文字列の長さより 1 だけ小さくなります。$lengthOfString は、strlen() 関数を使用して文字列の長さを保持します。$lastCharPosition は、文字列の最後の char のインデックスを保持します。出力は、$lastCharPosition を文字の配列へのインデックスとして渡した後の最後の char です。

出力:

The last char of the string is g.

PHP 7.1.0 からの負の文字列インデックスアクセス

PHP 7.1.0 以降、文字列の負のインデックスもサポートされているため、取得するインデックスとして -1 を使用できます PHP の文字列の最後の文字。

コード例:

<?php  
$string = "This is a string";

$lastChar = $string[-1];
echo "The last char of the string is $lastChar.";
?>

出力:

The last char of the string is g.

PHP で for ループを使用して文字列の最後の文字を取得する

string の最後の char を新しい文字列に格納して取得し、for ループで最後の文字をフェッチできます。string をトラバースし、最後の char に到達します。

<?php 
$string = "This is a string";
$lastCharPosition = strlen($string) - 1;  
for ($x = $lastCharPosition; $x < strlen($string); $x++) {
    $newString = $string[$x]; 
} 
echo "The last char of the string is $newString.";
?> 

strlen() 関数を使用して最後の char のインデックスを取得し、for ループの $x に割り当てます。

出力:

The last char of the string is g.

関連記事 - PHP String