ゼロから始めるPHP講座Vol06 関数の書き方



ゼロから始めるPHP講座Vol06 関数の書き方
目次
  1. ゼロから始めるPHP講座 関数の書き方
  2. 関数の書き方
  3. 関数の種類
  4. 関数紹介
  5. 課題

ゼロから始めるPHP講座 関数の書き方

関数の書き方

以下のような書式で関数を利用します。

php-function-write1-639

引数(素材)がいくつ必要かは関数によって異なりますが、,(カンマ)で利用する素材を順に並べるという書き方に違いはありません。

なお関数には必ず()が必要になるため、関数を文章で表す際は「mt_rand()」と記述するのが一般的です。

関数の種類

PHPにはたくさんの関数が用意されていますが、どんな関数があり、その引数(素材)が何かを覚える必要はありません。

「PHPマニュアル」というPHPの公式マニュアルが公開されており、ここに各関数の詳細が記載してありますので、必要なときに参照するようにしましょう。

php-function-write2-639

例えばmt_rand()の場合、ランダムな整数値を返す関数で、引数1には最小値、引数2には最大値を指定すると、PHPマニュアルに記載してあります。

mt_rand()php-function-write3-639

公式サイトのためPHPマニュアルにある情報が最も正確ですが、はじめのうちは技術的な用語が多くて理解しづらいかもしれません。

その場合はGoogleなどで検索し、自身が理解しやすいと思うサイトを探し、PHPマニュアルと併用しながら利用してください。

関数紹介

講義で使用している関数の一部を紹介します。頻繁に利用するため、使い方と処理内容をしっかり理解しておきましょう。

htmlspecialcharsリファレンス

HTMLで特殊な意味を持つ文字(特殊文字)を表示可能な形式に変換します。

特殊文字が含まれる文字列をhtmlspecialchars()で変換した場合としない場合の違いを確認してみましょう。 ファイル名:htmlspecialchars.php

<!--?php
// 好きなhtmlを入力(例:<h2-->PHP勉強中です!!)
$str = '

php勉強中です
--------';

// htmlspecialcharsを使わない場合
print $str;

// htmlspecialcharsを使う場合
print htmlspecialchars($str, ENT_QUOTES);
?>

php-function-write4-639 この関数は表示以外にセキュリティ対策としても非常に重要な意味を持ちます。

Webページにおいて最も有名なセキュリティホール(脆弱性)の1つにXSS(クロスサイトスクリプティング)があり、この対策の1つとしてhtmlspecialchars()は必須となります。

XSS詳細は現時点では理解が難しいため割愛しますが、「PHPでprintやechoにより変数の表示を行う場合、特殊文字の有無に関わらず、必ずhtmlspecialchars()による変換を行わなければならない」と覚えておきましょう。


mb_strlenリファレンス

文字列の長さを取得します。 参照のプログラムの変数$strに好きな文字列を入れ、文字列の長さが正常に表示されるか確認しましょう。 ファイル名:mb_strlen.php

<!--?php

// この変数に調べたい文字を入れる
$str = 'この変数に文字列の長さを調べたい文字を自由に入力してください';

$length = mb_strlen($str);

$str    = htmlspecialchars($str,    ENT_QUOTES, 'UTF-8');
$length = htmlspecialchars($length, ENT_QUOTES, 'UTF-8');

?-->

<meta charset="UTF-8">

<title>mb_strlen</title>

この文字列の長さは「
<!--?php print $length; ?-->」文字です。

<!--?php print $str; ?-->

php-function-write5-639Webページにてユーザへ何か値を入力してもらうサービスは多く、ほとんどの場合、この入力値には文字数制限があります。 例) 会員登録のパスワード、Twitterのつぶやき、etc.

このような文字数制限のチェックの際、mb_strlen()を利用します。


今回紹介した関数はごく一部です。

今後も本ブログで頻繁に利用する関数は随時紹介していきます。

課題

「date」という関数を使い、本日の日付を表示してください。 ファイル名: challenge_function.php 何をしたら良いかわからないという場合は、下記を参考にしてみてください。

<!--?php

// date関数を使って日付を取得

// 取得した日付を出力

?-->

NEXT LESSON ☛ データ型の種類

PREV LESSON ☛ 関数の基礎

CodeCampus編集部
この記事を書いた人
CodeCampus編集部
\ 無料体験開催中!/自分のペースで確実に習得!
オンライン・プログラミングレッスンNo.1のCodeCamp