[php]文字列操作関数4選(0埋め/切り出し/ランダム/大文字・小文字)

php

最近使った文字列操作の関数について、サンプルと使い方を書いています。
ここで取り上げているのは下記関数です。

・sprintf – 0埋めに使う
・substr – 一部文字の切り出し
・str_shuffle – ランダム文字列取得
・strtoupper – 大文字変換
・strtolower – 小文字変換

sprintf - 0埋め

  • 公式のドキュメントリンクはこちら

文字列を第1引数で渡したフォーマットにそって文字列を作成し、返してくれます。
詳細の書式指定については公式を参照ください。
サンプルでは%s(文字列)と%d(数値)を使ってます。

サンプル

%sは文字列で、%dは数値を表しています。
それぞれ展開したい値を順番に、第一引数の後に並べると、渡した引数を展開した文字列を返してくれます。

$num = 5;
$fruit = 'apple';
$format = '%sが%d個あります。';
echo sprintf($format, $fruit, $num); // appleが5個あります。

2桁の0埋めは、下記のように書きます。

$num = 5;
echo sprintf("%02d", $num); // 05

substr – 文字の切り出し

  • 公式のドキュメントリンクはこちら

文字列を引数で指定した長さで切り取って、返してくれます。

substr (string $string ,int $start [, int $length ] ) 

第1引数が切り出す文字で、
第2引数が切り出しを開始する位置、
第3引数が開始位置から切り出す長さとなります。

第3引数を渡さなかった場合は、開始位置以降を切り取って返してくれます!

サンプル

開始位置のみ渡すパターンです。
文字列は0から数えています。

echo substr("apple,grape,banana", 2); // ple,grape,banana

開始位置と、切り取る長さを渡して、grapeだけを取ってきています。

echo substr("apple,grape,banana", 6, 5); // grape

str_shuffle – ランダム文字列作成

  • 公式のドキュメントリンクはこちら

引数で渡した文字列をシャッフルして、返してくれます。

サンプル

渡した文字列だけで、シャッフルされるので、同じ文字を渡さない場合は重複することはないですね。

echo str_shuffle("abcdefghijklmnopqrstuvwxyz1234567890"); // 「kzu3ovcg0t9wdjifqe82msxbpn7a1h456yrl」

空白もOKみたいです。

echo str_shuffle("this is a pen"); // 「sps hntae ii」 

strtoupper – 小文字から大文字変換

  • 公式のドキュメントリンクはこちら

文字列を小文字から大文字に変換してくれます。
マルチバイト文字(日本語など)を含む場合はmb_strtoupperを使いましょう。
(文字化けしないようにするため)

サンプル

$str = 'apple';
echo strtoupper($str); // APPLE

マルチバイトを含むと文字化けする。。

$str = 'appleりんご';
echo strtoupper($str); // APPLÂ�Â�Á�

mb_strtoupperを使うと解決する。

$str = 'appleりんご';
echo mb_strtoupper($str); // APPLEりんご

mbstringモジュールが必要です。

strtolower – 大文字から小文字変換

  • 公式のドキュメントリンクはこちら

文字列を大文字から小文字に変換してくれます。
マルチバイト文字(日本語など)を含む場合はmb_strtolowerを使いましょう。
(文字化けしないようにするため)

サンプル

$str = 'GRAPE';
echo strtolower($str); // grape

マルチバイトを含むと文字化けするので、日本語を含む場合はmb_strtolowerを使いましょう。

コメント

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