PHP 関数の基本「組み込み(ビルトイン)関数」〜未経験の為のPHPプログラミング講座〜

今回は関数の紹介をします。
関数の中でも「組み込み(ビルトイン)関数」と言ってPHPが標準で持っている関数の紹介です。

関数とは?

関数とは値(引数)を与えることによって、決められた処理を行いその結果を返す機能のことを言います。
中でも組み込み関数はPHPが標準で搭載している機能なのでどこからでも利用可能です。

組み込み関数以外には「ユーザー定義関数」がありプログラマが自由に関数を作成・利用することができます。

関数の利用方法

配列の数を数えることができるcount関数で解説します。

関数を利用するための構文は以下のようになります。

引数が複数ある場合は「,」カンマ区切りで記述します。

組み込み(ビルトイン)関数

では組み込み(ビルトイン)関数をいくつか紹介します。
ここで紹介する以外にも様々な組み込み(ビルトイン)関数があります。
プログラミングをする上で関数を知っているか、知らないかでかなり差がつきますので、最初はプログラミングしたい内容・機能の関数があるかリファレンスを確認することをお勧めします。

print関数

print関数は引数に与えられた文字列を出力するための関数です。

mb_strlen関数

mb_strlen関数は文字列の長さを取得するための関数です。

date関数

現在の年月日時分秒を取得できる関数です。

explode関数

explode関数は、文字列を与えられた文字列で分割し配列で返す関数です。
explode( ‘分割する文字’ , ‘元の文字列’ );

implode関数

implode関数は、explode関数の逆のイメージで、配列を与えられた文字列で結合し文字列で返す関数です。
implode( ‘結合する文字’ , ‘配列’ );

file_get_contents関数

file_get_contents関数は、指定のURLにアクセスしソースコードを取得することができます。
クレジット決済のAPIで決済が完了したかなどの戻り値を取得し処理したり、スクレイピングなどに利用可能です
implode( ‘結合する文字’ , ‘配列’ );

htmlspecialchars関数

htmlspecialchars関数は、HTMLの特殊な文字列「<、>、”、’、&」などをエンティティ(無効化し別の文字列「&lt;や&gt;」に置き換え)します。
htmlspecialchars( ‘文字列’ , ‘フラグ’ , ‘エンコード’ );

上記はそのまま表示されたかのように見えますが、htmlspecialchars関数を利用しないとJavaScriptが動作しアラートが表示されます。

置き換えられる文字

下記は、htmlspecialchars関数によって置き換えられる文字列の一覧です。
" (ダブルクォート)、' (シングルクォート)の変換には第2引数に定数の設定が必要です。

変換される文字列変換後の文字列
& (アンパサンド)&amp;
" (ダブルクォート)ENT_NOQUOTES が指定されていない場合、&quot;
' (シングルクォート)ENT_QUOTES が指定されている場合、&apos;
< (小なり)&lt;
> (大なり)&gt;

第2引数フラグ用の定数

" (ダブルクォート)、' (シングルクォート)の変換には第2引数に定数の設定が必要な説明をしましたが、以下が設定できる定数となります。

定数名設定時のふるまい
ENT_COMPATダブルクォートは変換しますがシングルクォートは変換しません。
ENT_QUOTESシングルクォートとダブルクォートを共に変換します。
ENT_NOQUOTESシングルクォートとダブルクォートは共に変換されません。
設定可能な定数
※上記以外にも設定可能な定数はいくつか存在します。

mb_convert_encoding関数

mb_convert_encoding関数は、与えられた文字列のテキストエンコードを変更する関数です。
関数名の頭にある「mb」はマルチバイトの意味となります。

文字化けなどが発生した場合は、まずここを確かめると良いと思います。

mb_convert_encoding( ‘文字列’ , ‘変更後のエンコード’ , ‘変更前のエンコード’ );

第2引数、第3引数には文字のエンコードを入力しますが、第3引数は ‘auto’ もしくは「設定なし」でも可能です。

テキストエンコードの種類

テキストエンコードの種類は多数あります。以下一部を紹介します。

  • SJIS
  • EUC-JP
  • UTF-8
  • UTF-16
  • sjis-win
  • ISO-2022-JP
  • CP932

まとめ

組み込み(ビルトイン)関数はここでは紹介し切れないほどたくさんあります。
組み込み(ビルトイン)関数の詳細はPHPリファレンスで紹介されています。日本語にも対応しているので、PHPプログラミングで困ったときはPHPリファレンスで調べるクセをつけるといいと思います。

created by Rinker
PHP7の基本構文から、クラス、DB連携、セキュリティ対策まで、しっかり習得! PHPプログラミングの標準教科書『独習PHP』が、最新のPHP7に対応。PHPでWebページ/アプリケーションを開発する際に必要な基礎的な知識、PHPの基本構文から、クラス、データベース連携、セキュリティまで、詳細かつ丁寧に解説します。
created by Rinker
時間がなくたって、プログラミングは学べます。学習を躊躇していた人たちに、既存の入門書で挫折した人たちに、「これならできる!」の最短カリキュラムを、土日の14時間で提供。まったくのプログラミング初心者が簡単なWebデータベースアプリを構築できるまでの成長コースを、手取り足取り、導きます。

コメントする

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)