組み込み関数の使い方

10.1 組み込み関数の使い方

 関数とは、処理をまとめて使いやすくしたようなものです。PHPには初めから用意されている、組み込み関数と呼ばれるものがあり、これを利用することで、自分でプログラミングをしなくても簡単に目的に応じた結果を得ることができ、大変便利です。組み込み関数の使い方を本節で学習していきましょう。

10.1.1 関数リファレンスを知っておこう

 PHPの組み込み関数にはたくさんの種類があります。その中のどれを使ったら良いのか、またそれぞれの関数はどのように利用すれば良いのか、初めはよく分からないでしょう。その時に利用すると良いのが、PHP公式ページに用意されている「関数リファレンス」です。
 関数リファレンスでは関数の構文や使い方が説明されています。関数リファレンスを上手に利用できるようになることは、プログラミングが上達するポイントにもなります。
 慣れないうちは難しいかもしれませんが、プログラムを行う前や、必要に応じて
  関数リファレンスを見る → 読んで理解する → 実際のプログラムで利用する
 を行えるようになることが大切です。
 また、関数を使うとき、その中身がどのような仕組みになっているかを知る必要はありません。使い方がわかれば大丈夫です。

 関数リファレンスは、PHPマニュアルのメインページから「関数リファンレス」というリンクを辿ることで見ることができます。

 ●PHPマニュアルのURL
  http://jp2.php.net/manual/ja/index.php

図 10.1.1 PHPマニュアルの関数リファレンス

10.1.2 主な組み込み関数の紹介

 関数リファレンスを見るとわかりますが、PHPには多くの組み込み関数が用意されています。全て覚えるのはとても大変ですが、良く使われる主なカテゴリーの各組み込み関数を紹介していきます。

Math関数(数学)
 ランダム数値の取得や数学的な処理を行いたい場合に利用します。

表 10.1.1 主なMath関数の一覧

 String関数(文字列)
  文字列の置換や切り出しなどの文字列操作の処理を行いたい場合に利用します。

表 10.1.2 主なString関数の一覧

変数操作関数
 変数操作関数は、主に変数の状態を調べたい場合に利用します。戻り値に真偽値が多いので条件分岐文と組み合わせて利用することが多いです。

配列関数
 配列関数は主に配列の初期作成や、作成後の並び替えなどの操作を行いたい場合に利用します。

日付・時刻関数
 現在の日付や時刻を取得したり、その値を使って処理を行いたい場合に利用します。

ファイルシステム関数
 外部のファイルデータを取り込んだり、逆にデータを書き出す処理を行いたい場合に利用します。

セッション関数
 セッションを利用したい場合や、その他セッションに関する操作を行いたい場合に利用します。

ここで紹介した以外にも、まだまだたくさん便利な関数が用意されています。自分でプログラムを作成する前に、まずは関数リファレンスを見てみることをお薦めします。

配列とMathの関数を使って動作するプログラム

 Math関数のmt_randを使ってランダムな数値を1つ生成し、そのランダム数値と配列に用意した画像名を使ってWebブラウザにトランプ画像を表示させます。

ソース・フォルダ:myproj_super_intro/ch10
ファイル名    :useFunction.php
アクセスURL   :http://localhost/myproj_super_intro/ch10/useFunction.php

➢ useFunction.php

<?php
	//array関数を使ってトランプの画像名を配列で作成
	$cards = array("Jk.png","01.png","02.png","03.png","04.png","05.png","06.png",
			  "07.png","08.png","09.png","10.png","11.png","12.png","13.png");
	
	//0~13の範囲でランダム数値を1つ取得
	$num = mt_rand(0,13);
?>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	</head>
	<body>
		■ランダム番号のカード
		<?php
			echo '($num=' , $num , ' )<br>';
			echo '<img src="../cards/' , $cards[$num] , ' ">';
		?>
	</body>
</html>

実行結果

 ■アクセスする度に、カードの絵柄が変化します。

解説

今回のプログラムでは以下で示している組み込み関数を利用しました。
関数に渡す情報のことを「引数」と呼び、関数から返って来る情報のことを「戻り値」と呼びます。

■mt_rand関数:ランダムな数値を取得する
 関数名 :mt_rand(最小値、最大値)
 第1引数:ランダムで発生させる数値の範囲の最小値
 第2引数:ランダムで発生させる数値の範囲の最大値
 戻り値 :第1引数から第2引数の範囲の数値を1つ整数型で返す。

 3、4行目では、トランプ画像のファイル名を配列にarray関数を利用して用意しています。

   3:$cards = array("Jk.png","01.png","02.png","03.png","04.png","05.png","06.png",
   4: "07.png","08.png","09.png","10.png","11.png","12.png","13.png");for($i=0;$i<4;$i++){

 7行目はMathの組み込み関数であるmt_rand関数を使って、「0~13」の範囲の数値を1つランダムに生成し、変数$numに代入しています。実行結果の例では「1」が生成され代入されています。

   7:$num = mt_rand(0,13);

 16行目はランダム数値の確認として、変数$numの値を画面に出力しています。
 17行目で配列変数$cardsのファイル名とランダムで生成した数値が格納している変数$numを利用し、echo文でトランプ画像を表示するHTMLを出力しています。文字列を結合するときはカンマ「,」とドット「.」どちらを使ってもよいです。16行目、17行目ではそれぞれドットとカンマを使用しています。

   16:echo '($num=' . $num . ')<br>';
   17:echo '<img src="../cards/' , $cards[$num] , ' ">';

◉ポイント

・ PHPには様々な用途に応じて使える組み込み関数が用意されている。
・ 組み込み関数は、関数リファレンスを利用することで、仕組みや使用方法などを調べることができる。

NEXT>> 10.2 本章のまとめ