関数の概要
PHPの str_rot13 関数は、文字列のアルファベットをROT13方式で変換します。ROT13とは、アルファベットを13文字分ずらすシーザー暗号の一種で、簡単な文字列のエンコードやデコードに使われます。英字以外の文字は変換されません。
パラメータの説明
string: ROT13変換を行いたい入力の文字列を指定します。
戻り値
引数として渡した文字列のROT13変換後の文字列を返します。元の文字列が英字であれば、それぞれ13文字進んだ文字に置き換わります。
使用例
基本的な使い方
<?php
$input = "Hello World!";
$output = str_rot13($input);
echo $output; // 出力: Uryyb Jbeyq!
?>
この例では「Hello World!」という文字列をROT13変換し、「Uryyb Jbeyq!」が得られます。英字のみが13文字ずつ変換されています。
逆変換も簡単に可能
<?php
$encoded = "Uryyb Jbeyq!";
$decoded = str_rot13($encoded);
echo $decoded; // 出力: Hello World!
?>
ROT13は自己逆変換の性質があるため、もう一度同じ関数を通すだけで元の文字列に戻せます。
アルファベット以外の文字は変換されない
<?php
$text = "1234!@# abc XYZ";
$result = str_rot13($text);
echo $result; // 出力: 1234!@# nop KLM
?>
数字や記号はそのまま保持され、英字のみが変換の対象になります。
関連する関数
strtoupper– 文字列をすべて大文字に変換strtolower– 文字列をすべて小文字に変換strtr– 文字列の指定した文字を別の文字に置換substr– 文字列の一部を抜き出す
まとめ
str_rot13 はPHPで簡単にROT13文字変換ができる便利な関数です。シンプルなシーザー暗号として文字列の簡易的なエンコード・デコードに使われます。英数字や記号には影響なく、英字のみを13文字ずらすため、駄洒落や謎解き、テスト用データの加工などに役立ちます。使い方もシンプルでパラメータは1つだけなので、PHPの文字列操作に慣れていない初心者でも扱いやすい関数です。
