phpのsubstrで文字列の最後/末尾の1文字を削除する

phpのsubstrで文字列の最後/末尾の1文字を削除する


配列を扱う時などに区切りでコンマ「,」をつけていくと、一番最後のコンマは必要がないけど付いちゃうのでそれをphpのsubstrで文字列の最後の1文字を削除する。

php関連記事

関連記事をもっとみる

substr関数を使う

まず消す方法から。

$text = substr('12345', 0, 2);   //12
$text = substr('12345', 0, -1);  //1234

substr(文字列, 開始位置 , バイト数)を使うと、

1つ目は、’12345’の文字列を 0(先頭)から 2バイト取得する。
2つ目は、’12345’の文字列を 全て取得しその中から -1バイト削除したもの取得する。
第3引数に負の数を指定するとこういった挙動になるみたい。

日本語などのマルチバイトから削除する場合

上のsubstr関数を使うとバイト数で処理されます。
1文字が2バイトの文字だと文字化けする可能性があるので文字列がマルチバイトの可能性があるものはmb_substr関数を使えば問題ありません。

$text = mb_substr('あいう', 0, -1, "SJIS");  //あい

第4引数に文字コードを指定するだけで完了です!

コメント

タイトルとURLをコピーしました