PHPのchop()関数とは?構文・使い方・具体例をわかりやすく解説
chop()関数とは
PHPのchop()関数は、文字列の末尾から空白文字(ホワイトスペース)を取り除くための関数です。内部的にはrtrim()関数のエイリアス(別名)として定義されており、両者はまったく同じ動作をします。
なお、文字列の先頭側の空白を削除したい場合はltrim()、先頭と末尾の両方を削除したい場合はtrim()を使うと便利です。
構文
chop(str, charlist)
パラメータ
str − 空白などを削除したい対象の文字列を指定します。
charlist − 末尾から削除したい文字を指定します(省略可能)。省略した場合は、半角スペース、タブ、改行(\n・\r)、NULLバイト(\0)、垂直タブ(\v)といった標準的な空白文字がすべて除去されます。
戻り値
指定された文字を末尾から除去したあとの文字列を返します。
使用例① 特定の文字を削除する
次の例では、第2引数に「Text!」を指定して、文字列の末尾から該当する文字を取り除いています。
<?php
$str = "Demo Text!";
echo $str . " ";
echo chop($str, "Text!");
?>
出力結果
Demo Text! Demo
chop()関数は、文字列の末尾から1文字ずつcharlistに含まれるかどうかを判定し、リスト外の文字に到達した時点で削除を終了します。
使用例② 末尾の改行や空白をまとめて削除する
charlistを省略すると、文字列末尾の改行コードやスペースなどの空白文字が一括で除去されます。ファイルから読み込んだ行データの整形などによく使われるテクニックです。
<?php
$str = "Welcome \nto the \nwebsite \n";
echo $str;
echo chop($str);
?>
出力結果
Welcome to the website Welcome to the website
最初のechoでは末尾に改行が残ったまま出力されるのに対し、2つ目のechoではchop()によって末尾の改行が削除されているのがわかります。
注意点
chop()はバイト単位で動作するため、マルチバイト文字(日本語など)を考慮していません。日本語を含む文字列の末尾を安全に加工したい場合は、mb_substr()などのマルチバイト対応関数の利用を検討しましょう。
-
PHPのlog()関数とは?自然対数の計算方法と使い方を解説
定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l
-
PHPのlcg_value()関数とは?乱数生成の基本と使い方を解説
lcg_value()関数の定義と使い方lcg_value()関数は、0から1までの範囲でランダムな数値(浮動小数点数)を生成するPHP組み込み関数です。「LCG」とは「線形合同法(Linear Congruential Generator)」の略称です。この手法は、不連続な区分線形方程式を用いて擬似乱数列を計算するアルゴリズムで、擬似乱数生成アルゴリズムの中でも最も古くから知られているものの一つです。構文lcg_value ( void ) : floatパラメータこの関数は引数を受け取りません。戻り値lcg_value()関数は、0.0以上1.0以下の範囲にある擬似乱数のfloat値を返し