strrev

関数の概要

PHPの strrev 関数は、文字列を逆順に並べ替えるための関数です。例えば、「hello」を「olleh」に変換したい場合に使います。非常にシンプルで使いやすく、文字列操作の基本として多くの場面で活用されます。

パラメータの説明

  • string:逆順にしたい対象の文字列を指定します。1つの文字列を渡すだけです。

戻り値

指定した文字列を逆順にした新しい文字列を返します。元の文字列自体は変更されません。

使用例

基本的な使い方

<?php
echo strrev("hello");
// 出力:olleh
?>

文字列「hello」が「olleh」と逆順に表示されます。

日本語文字列での取り扱い

<?php
echo strrev("こんにちは");
// 出力結果は文字化けや期待と異なる場合があります
?>

注意点として、strrevはバイト単位で反転するため、マルチバイト文字(日本語など)を含む場合は文字化けや不正な結果になることがあります。日本語などマルチバイト文字列を逆にしたい場合は mb_strrev のような独自関数を作成するか、他の方法を検討しましょう。

実務での応用例:ファイル名の拡張子を取得して逆順にする

<?php
$filename = "document.txt";
$reversed = strrev($filename);
echo $reversed; // "txt.tnemucod"
?>

ファイル名全体を逆順にし、そこから部分的に処理する際などに利用できます。例えば反転した文字列から拡張子を抽出するなどの用途があります。

応用例:文字列の左右入れ替え判定に利用

<?php
function isPalindrome($str) {
    return $str === strrev($str);
}

var_dump(isPalindrome("racecar"));  // true
var_dump(isPalindrome("php"));      // false
?>

文字列が回文かどうかチェックするのに使えます。与えられた文字列と逆順にした文字列が同じか比較するシンプルなコード例です。

関連する関数

  • substr:文字列の一部を取り出す
  • strlen:文字列の長さを取得する
  • mb_strlen:マルチバイト文字列の長さを取得する(日本語対応)
  • 独自に作成する mb_strrev などのマルチバイト対応逆転関数

まとめ

strrev はPHPで文字列を逆順に変換するためのシンプルで便利な関数です。英数字やシングルバイト文字列の逆転にはすぐに使えますが、日本語などマルチバイト文字列の場合は注意が必要です。基本的には、単純な文字列逆転や回文チェック、ファイル名処理などに役立ち、文字列操作の基礎として知っておくと便利な関数です。