忍者ブログ
バナヤンの忍者風呂
忍者ブログのカスタマイズ、各種WEBツールのテストなど試行錯誤の日々。 VMLによる地図の作成を研究していましたが、一時中断して、今はPHPを勉強しているところです。
ニュース
この欄には、このブログの内容に関連するニュースを掲載する予定です。
お知らせ
この欄には管理人からのお知らせなどを掲載します。
[63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73]

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

PHP 文字列の最後の文字を削除(substr)

文字列の最後の文字だけを削除したいときは、substrを使います。


$str=substr($str,0,-1)

文字列が「abcdef」だと「abcde」になります。

「substr」関数は文字列の一部を取り出します。
パラメータは、文字列、開始位置、取得文字数です。
開始位置は、1文字目が0番、2文字目が1番というように番目より1少ない数になります。

substr("abcdef", 1); // "bcdef"
substr("abcdef", 1, 3); // "bcd"

開始位置がマイナスの場合は、最後から数えます。
substr("abcdef", -1); // "f"
substr("abcdef", -2); // "ef"
substr("abcdef", -3, 1); // "d"

取得文字数がマイナスの場合は、最後から数えた文字数までとなります。
substr("abcdef", 0, -1); // "abcde"
substr("abcdef", 2, -1); // "cde"
substr("abcdef", 4, -4); // ""
substr("abcdef", -3, -1); // "de"

文字列の最後の文字だけを削除したいときは、開始位置「0」、取得文字数「-1」と指定するということです。

ループ処理で特定の文字を付加する場合に、ループ終了後、最後の文字だけを削除する必要がでてくる場合があります。

たとえば、次のような配列の値の間にカンマ「,」を入れて1つの文字列にしたい場合です。
$array[0]=1;
$array[1]=2;
for($i=0;$i<2;$i++){
$str.="'".$array[$i].",";
}
このままだと「$str」の値は「'1','2',」となります。
SQLクエリでこの文字列を値の並びとして使用する場合には、最後のカンマ「,」を削除しないとエラーになってしまいます。

「$str=substr($str,0,-1)」として、最後の1文字のカンマ「,」を削除すれば大丈夫です。
PR
QRコード
忍者ブログ [PR]
Copyright (C) 2006 banayan ALL RIGHTS RESERVED.