最新記事
(06/29)
(06/04)
(06/03)
(05/30)
(05/28)
|
ニュース
この欄には、このブログの内容に関連するニュースを掲載する予定です。
|
PHP 文字列の最後の文字を削除(substr)
文字列の最後の文字だけを削除したいときは、substrを使います。
文字列が「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文字のカンマ「,」を削除すれば大丈夫です。
$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