本記事では、PHPの関数 [function] について紹介します。
関数とは ?
関数とは、いくつかの処理をひとまとまりにしたものです。
機能を部品化するイメージで、その部品(関数)を使いまわすことができます。
関数には、処理を実行するための条件である「引数」(パラメータ)を渡すことができます。
そして、処理の実行結果を「戻り値」として返します。
※戻り値は必須ではありません。
複数の引数を指定する場合は「total($a, $b)」のようにカンマ区切りで指定します。
また引数を指定しない場合は「total()」のように記述します。
[関数の書き方 例]
function (関数名)(引数){
”関数内の処理・・・”
・・・
return (戻り値)
}
関数の使用例
「total」という関数を作成しています。
この関数では、配列の引数「$scoreList」の合算値を計算し、戻り値を設定しています。
<?php
function total($scoreList) {
$totalScore = 0;
foreach($scoreList as $score) {
// スコアを加算
$totalScore += $score;
}
// 合計値を返却
return $totalScore;
}
$scoreList = array(2,4,5);
// 関数の実行
$totalScore = total($scoreList);
// 合計スコアを出力
print("合計スコア: ”.$totalScore);
?>
[実行結果]
合計スコア:11
戻り値なしの関数
関数で戻り値を返す必要がない場合は、戻り値を指定する(returnを書かない)必要はありません。
[戻り値なしの関数例]
<?php
function hello($str) {
print("引数の値: ".$str);
}
// 関数の呼び出し
hello("こんにちは");
?>
[実行結果]
引数の値: こんにちは
引数なしの関数
関数に渡す引数がない場合は、関数に引数を書く必要はありません。
[引数なしの関数例]
<?php
function hello() {
print("こんにちは");
}
// 関数の呼び出し
hello();
?>
[実行結果]
こんにちは
型宣言
関数の引数(パラメータ)や戻り値に型を指定することができます。使用可能な型は以下の通りです。
データ型 | 説明 |
int | 小数点がつかない数値(整数型) |
float | 小数点がつく数値(浮動小数点数型) |
bool | true(真) または false(偽)のどちらかの値を持つ(論理型) |
string | 文字列 |
array | 配列 |
callable | コールバック関数 |
クラス/インタフェース | クラスやインタフェースのインスタンス |
self | クラスと同じクラスのインスタンス。クラス内部でのみ使用可能 |
parent | クラスの、親クラスのインスタンス。クラス内部でのみ使用可能 |
object | オブジェクト |
引数に型を指定することができます。型を指定することで関数の引数に渡せる値を制限できます。
[引数の型宣言の例]
<?php
function sample(int $val) {
print("引数の値: ".$val);
}
// 関数の呼び出し
sample(1);
?>
[実行結果]
引数の値: 1
PHPではある程度の型の違いは判断して、対処してくれます。
例えば「function sample(int $a)」のようにint型で定義している引数に対しては以下のように変換してくれます。
- sample(1); → int型なのでそのまま
- sample("1"); → 数値に変換されます
- sample(1.5); → 小数部分は切り捨てられ1となる(変換されます)
- sample("あ"); → 数値に変換できないのでNG(エラーとなる)
PHPの関数(function)について紹介しました。PHPを学習されている方のお力になれれば幸いです。
学習書の紹介
「広告」
5年ぶりのメジャーバージョンアップに合わせて大幅改訂!
PHP8の基本構文から、クラス、DB連携、セキュリティ対策まで、
しっかり習得できます。
PHPでWebページ/アプリケーションを開発する際に必要な基礎的な知識、PHPの基本構文から、クラス、データベース連携、セキュリティまで、詳細かつ丁寧に解説します。
解説→例題→練習問題(理解度チェック)という3つのステップで、
PHPによるWebアプリ開発の基礎・基本テクニックをしっかり習得できます。
実際にサンプルコードを入力し、動作を確かめながら学習することで、いっそう理解が深まります。
「PHPを一から学びたい・しっかり基礎固めをしたい」
「PHPでWebアプリを作りたい」という方におすすめの1冊です。
以上、PHP での 関数の使い方についての解説でした。