column

ITコラム

mv17116

プログラミングノウハウ

2019.06.21

PHP【文字列】便利な関数

PHP の文字列について、これまで explode 関数や sprintf 関数 等を紹介しましたが、PHP では その他にも文字列で使用できる様々な関数が用意されています。
今回は そのような関数のうちの幾つかを紹介します。

文字列についてはこちらの記事もご参照下さい。

PHP【文字列】文字列の連結
PHP【文字列】explode で文字列を分割
PHP【文字列】str_replace で文字列を置換
PHP【文字列】文字列の検索
PHP【文字列】文字列の比較
PHP【文字列】substr で文字列の抽出
PHP【文字列】数値に変換
PHP【文字列】strlen で文字列の長さを取得
PHP【文字列】trim で空白を削除
PHP【文字列】sprintf でフォーマット
PHP【文字列】エスケープ処理
PHP【文字列】全角と半角の変換
PHP【文字列】便利な関数(本ページ)

 
本サイトでは XAMPP( ザンプ )という開発環境を使用しています。
XAMPP のインストール方法や起動方法については以下の記事をご参照下さい。
PHP【 開発環境 】XAMPP インストール
PHP【 開発環境 】XAMPP の使い方

なお、未経験からITエンジニアへの就職に興味がある方や未経験からプログラミングを効率よく学びたいと考えている方は、就職率98.3%で受講料無料のプログラミングスクールプログラマカレッジもおすすめです。

最終更新日:2019年6月21日

1.文字列を丸める mb_strimwidth

mb_strimwidth 関数は、指定した幅に文字列を丸める関数です。

次のように記述して使用します。

mb_strimwidth ( 文字列 , 開始位置 , 幅 ) ;

第 2 引数には、文字列の先頭文字を 0 としたインデックス番号を数値で指定します。
( 負の数値を指定すると、文字列の末尾からカウントされて先頭文字が特定されます。)

第 3 引数には、丸めた後の文字列全体の幅を、半角文字は 1 、全角文字は 2 でカウントして数値で指定します。

この他、第 4 引数として 丸めた後の文字列に追加したい文字列を指定することができ、第 5 引数として 文字エンコーディングを指定することができます(どちらも省略可能です)。
 

mb_strimwidth のサンプル

mb_strimwidth 関数を使用して 文字列の丸め処理をしてみます。

下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<?php

  echo mb_strimwidth("1234567890", 2, 6);
  echo "<br>";
  echo mb_strimwidth("1234567890", 2, 6);
  echo "<br>";
  echo mb_strimwidth("1234567890", 2, 6, "etc.");
  echo "<br>";
  echo mb_strimwidth("1234567890", 2, 6, "等々");

?>

PHP 文字列 便利な関数 プログラマカレッジ

第 4 引数に 追加文字列を指定した場合は、追加した文字列を含めた 丸め処理後の文字列全体の幅が、第 3 引数で指定した数値(半角文字は 1 、全角文字は 2 でカウント)となる点に注意が必要です。

▲目次へ戻る

 

2.大文字⇔小文字変換の strtolower / strtoupper

strtolower 関数は、指定した文字列のアルファベットを全て小文字にする関数です。
逆に、strtoupper 関数は、指定した文字列のアルファベットを全て大文字にする関数です。

次のように記述して使用します。

strtolower ( 文字列 ) ;
strtoupper ( 文字列 ) ;

 

strtolower 及び strtoupper のサンプル

strtolower 関数と strtoupper 関数を使用して アルファベットを小文字 又は 大文字に変換してみます。

下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<?php

  $str = "Hello World!";

  echo strtolower($str);
  echo "<br>";
  echo strtoupper($str);

?>

PHP 文字列 便利な関数 プログラマカレッジ

▲目次へ戻る

 

3.埋め込み処理の str_pad

str_pad 関数は、文字列を指定した長さまで他の文字列で埋める関数です。

次のように記述して使用します。

str_pad ( 文字列 , 長さ [, 埋め込む文字列 [, 位置 ] ] ) ;

第 3 引数には、埋め込む文字列を指定することができます。
指定しない場合は、第 2 引数で指定した長さになるまでスペースが埋められます。

第 4 引数には、埋め込む位置を STR_PAD_RIGHT(右)、STR_PAD_LEFT(左)、STR_PAD_BOTH(両側)で指定することができます。
指定しない場合は、右側が埋められます。
 

str_pad のサンプル

str_pad 関数を使用して 文字列の埋め込み処理をしてみます。

下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<?php

  $str = "12345";

  echo str_pad($str, 10);
  echo "<br>";
  echo str_pad($str, 10, "*", STR_PAD_LEFT);
  echo "<br>";
  echo str_pad($str, 10, "*", STR_PAD_BOTH);
  echo "<br>";
  echo str_pad($str, 10, "*-");
  echo "<br>";
  echo str_pad($str,  3, "*");

  echo "<br>";
  echo str_pad("全角",  10, "*");

?>

PHP 文字列 便利な関数 プログラマカレッジ

埋め込む文字列を指定しない場合はスペースで埋められ、埋め込む位置を指定しない場合は右側が埋められます( 分かりやすいように「 str_pad($str, 10); 」で埋め込み後の文字列の色を反転させてみました )。

埋め込む文字列のパターンがきれいに納まらない場合は、指定された長さでカットされます。

指定した長さが元の文字列の長さ以下の場合は、埋め込み処理が行われず 元の文字列がそのまま返ります。
負の数値を指定した場合も同様です。

全角文字は 1 文字の長さが 3 ( バイト )としてカウントされます。

▲目次へ戻る

無料説明会

SHARE

最新記事

無料説明会に参加してみる

INTERNOUS,inc. All rights reserved.

無料オンライン説明会へ