文字列

文字列の操作

結合

結合演算子 (.) を用います。PHP: 文字列演算子 - Manual

$a = 'ABC'.$b;

分割

array explode(
    string $delimiter,    //
    string $string        //
    [, int $limit = -1 ]  //
    )

文字列stringを文字列delimiterで分割し、分割された文字列の配列を返します。

結果を順に取り出す

string strtok(
    string $str,    //
    string $token   //
    )

文字列strを文字列tokenで分割し、分割された最初の文字列を返します。

string strtok(
    string $token   //
    )

分割された2つ目以降の文字列を返します。呼び出すごとに、結果を順に返します。

連結

string implode(
    string $glue,   //
    array $pieces   //
    )

抽出

substr()は、文字列の一部を取り出します。

string substr(
    string $string,  // 入力文字列
    int $start       // 切り出し位置
    [, int $length ] // 文字数
    )
echo substr( 'abcdef', 1);     // bcdef
echo substr( 'abcdef', 1, 3);  // bcd
echo substr( 'abcdef', 0, 4);  // abcd
echo substr( 'abcdef', 0, 8);  // abcdef
echo substr( 'abcdef', -1, 1); // f

1文字だけを取り出すならば、配列のように角括弧 ( [] ) で文字の位置を指定します。

$a = 'abcd';
echo $a[ 2 ];  // cと出力される。

両端の文字の除外

string trim(
    string $str            //
    [, string $charlist ]  //
    )

文字列の検索

strpos()は、文字列が最初に現れる場所を見つけます。

int strpos(
    string $haystack,    //
    mixed $needle        //
    [, int $offset= 0 ]  //
    )

文字列のマッチ回数

int substr_count(
    string $haystack,    //
    string $needle       //
    [, int $offset = 0   //
    [, int $length ] ]   //
    )

文字列の置換

mixed str_replace(
    mixed $search,    // 変換される文字列または文字列の配列
    mixed $replace,   // 置き換える文字列または文字列の配列
    mixed $subject    // 置換対象の文字列または文字列の配列
    [, int &$count ]  // 置換が行われた数
    )
string strtr(
    string $str,   // 置換対象の文字列
    string $from,  // 変換される文字列
    string $to     // 置き換える文字列
    )

strtr()では置換する部分の2つの文字列は、同じ長さである必要があります。str_replace()では無関係です。

複雑な置換は正規表現を使用します。

strtrです。strstrは、また別の関数です。

文字列の調査

文字列の長さ

int strlen(
    string $string     //
    )

文字列の数値への変換

$foo = '10' + 0;

整数への変換

int intval( mixed $var [, int $base= 10 ] )

浮動小数点数への変換

float floatval( mixed $var )

文字列のフォーマット

string sprintf(
    string $format    //
    [, mixed $args    //
    [, mixed $... ] ] //
    )
変換指定子 (conversion specifications)
指定子 説明
符号指定子 符号 (+、-) の使用を指定
パディング指定子 文字で埋める
アラインメント指定子 左寄せ、または右寄せ
表示幅指定子 結果の最低の桁数
精度指定子 浮動小数点数の桁数
型指定子 型の指定
記号 表示
% パーセント文字  
b 整数 バイナリ数値
c 整数 ASCII値の文字
d 整数 10進数
e 科学記法  
u 整数 符号なしの10進数
f double 浮動小数点数
F float 浮動小数点数
o 整数 8進数
s 文字列  
x 整数 16進数 (小文字)
X 整数 16進数 (大文字)

文字列の暗号化

string crypt(
    string $str        //
    [, string $salt ]  //
    )
string md5(
    string $str                    //
    [, bool $raw_output = false ]  //
    )

半角と全角の変換

string mb_convert_kana(
    string $str              // 変換される文字列
    [, string $option        // 変換オプション
    [, string $encoding ] ]  // 文字エンコーディング
    )

どのように変換するかは下表の変換オプションで指定します。オショの小字は「半角」に、大文字は「全角」に変換します。これらは複数を組み合わせて指定できます。

変換オプション
オプション 意味
r / R 英字
n / N 数字
a / A 英数字 (U+0022、U+0027、U+005C、U+007Eを除く U+0021~U+007Eの範囲)
s / S スペス
k / K カタカナ
h / H 「全角ひらがな」と「半角カタカナ」
c / C 「全角カタカナ」と「全角ひらがな」
V 濁点付きの文字を一文字に変換する ([K]、[H]と共に使用する)