PHP関数:組み込み関数、文字列関数、数値関数の例
⚡ スマートサマリー
PHPの関数は、特定のタスクを実行し、引数を受け取り、必要に応じて値を返す、再利用可能なコードブロックです。このチュートリアルでは、関数が重要な理由を説明し、組み込みの文字列関数、数値関数、日付関数の概要を示し、引数と戻り値を持つユーザー定義関数の書き方を紹介します。

PHPの関数とは何ですか?
A PHPの関数 関数とは、特定の動作を実行する再利用可能なコードの一部またはブロックです。ユーザーからパラメータの形で入力を受け取り、特定の動作を実行して、出力を行います。関数は、呼び出されたときに値を返すことも、値を返さずに操作のみを実行することもできます。
PHPには、さまざまなタスクを実行する700以上の組み込み関数があります。
関数を使用する理由
- コード構成の改善 – PHP 関数を使用すると、特定のタスクを一緒に実行する関連コードのブロックをグループ化できます。
- 再利用性 – 一度定義された関数は、PHPファイル内の複数のスクリプトから呼び出すことができます。これにより、データベースへの接続などの定型的なタスクを実行する際に、同じコードを再作成する手間が省けます。
- メンテナンスが容易 – システムの更新は一箇所で行うだけで済みます。
PHP 組み込み関数
組み込み関数とは、PHPのインストールパッケージに含まれている、あらかじめ定義された関数のことです。
これらの PHP 組み込み関数により、PHP は非常に効率的で生産的なスクリプト言語になります。
PHPの組み込み関数は、多くのカテゴリに分類できます。以下に主なカテゴリの一覧を示します。
文字列関数
これらは文字列データを操作する関数です。 ストリング 文字列関数の実装例については、こちらをご覧ください。
数値関数
PHP の数値関数は、数値結果を返す関数です。
PHPの数値関数は、数値の書式設定、定数の返却、数学的計算の実行などに使用できます。
以下の表は、PHPでよく使われる数値関数を示しています。
| 演算 | 詳細説明 | 例: | 出力 |
|---|---|---|---|
| 数値である | 引数を受け取り、それが数値であれば true を、そうでなければ false を返します。 |
<?php if(is_numeric("guru")) { echo "true"; } else { echo "false"; } ?> |
false |
<?php if(is_numeric(123)) { echo "true"; } else { echo "false"; } ?> |
true | ||
| 数値形式 | 数値の書式設定に、桁区切り記号と小数点を使用します。 |
<?php
echo number_format(2509663);
?>
|
2,509,663 |
| ランド | 乱数を生成するために使用されます。 |
<?php
echo rand();
?>
|
乱数 |
| 円形 | 小数点を含む数値を最も近い整数に丸めます。 |
<?php
echo round(3.49);
?>
|
3 |
| 平方根 | 数値の平方根を返します |
<?php
echo sqrt(100);
?>
|
10 |
| COS | コサインを返します |
<?php
echo cos(45);
?>
|
0.52532198881773 |
| 罪 | 正弦を返します |
<?php
echo sin(45);
?>
|
0.85090352453412 |
| 日焼け | 接線を返します |
<?php
echo tan(45);
?>
|
1.6197751905439 |
| pi | PIの値を返す定数 |
<?php
echo pi();
?>
|
3.1415926535898 |
日付関数
日付関数は、 Unixの 日付と時刻を人間が読みやすい形式に変換します。
詳細については、PHP 日付関数に関する記事を参照してください。
その他の機能 次のとおりです。
- 配列 – 例については配列に関する記事を参照してください。
- ファイル – 例については、ファイルに関する記事を参照してください。
- データベース関数 – に関する記事を参照してください。 MySQLPHPやその他のデータベースアクセス方法
ユーザー定義関数を使用する理由
ユーザー定義関数は次のような場合に便利です。
- アプリケーションにデータを追加するなどの日常的なタスクがある場合、 データベース
- データの検証チェックを実行する
- システム内でのユーザー認証、および同様のタスク。
これらのアクティビティは複数のページにまたがって行われます。これらのすべてのページから呼び出せる関数を作成できることは、PHPを強力なスクリプト言語たらしめる機能の1つです。
最初のユーザー定義関数を作成する前に、独自の関数を作成する際に従わなければならないルールを確認しましょう。
- 関数名は文字またはアンダースコアで始まる必要があり、数字で始まることはできません。
- 関数名は一意である必要があります
- 関数名にはスペースを含めることはできません
- 関数名には分かりやすい名前を使うのが良い習慣とされています。
- 関数はオプションでパラメータを受け入れ、値を返すこともできます。
それでは、最初の関数を作成してみましょう。ここでは、PHPにおける関数の主要な構成要素を示す、非常に基本的な関数を作成します。
<?php // define a function that adds two numbers function add_numbers(){ echo 1 + 2; } add_numbers (); ?>
出力:
3
ここに、
- 「function…(){…}」は、PHPにカスタム関数を定義していることを伝える関数ブロックです。
- 「add_numbers」は関数を使用するときに呼び出される関数名です。
- 「()」は関数にパラメータを渡すために使用できます。
- 「echo 1 + 2;」は実行されるコードブロックです。これは、上記の例で使用されているコード以外の任意のコードでも構いません。
それでは、上記の関数と同様に、パラメータを受け取りメッセージを表示する、やや複雑な例を見てみましょう。
ユーザー名を画面に表示する関数を作成したいとします。ユーザー名を受け取り、それを画面に表示するカスタム関数を作成できます。
以下のコードは実装を示しています。
<?php function display_name($name) { echo "Hello " . $name; } display_name("Martin Luther King"); ?>
出力:
Hello Martin Luther King
ここに、
- 「($name)」は、nameという名前の関数パラメータです。関数呼び出し時に渡された値は、「Hello」という単語の後に表示されます。
次に、引数を受け取り、値を返す関数を見ていきましょう。ここでは、キロメートルをマイルに変換する関数を作成します。キロメートルは引数として渡され、関数はマイル換算値を返します。以下のコードにその実装を示します。
<?php function kilometers_to_miles($kilometers = 0) { $miles_scale = 0.62; return $kilometers * $miles_scale; } echo kilometers_to_miles(100); ?>
出力:
62
PHP関数のパラメータと戻り値
パラメータを使うことで、関数は実行されるたびに異なる入力値で動作させることができ、return文は呼び出し元に結果を返します。PHPには、パラメータの動作を制御するためのいくつかの方法が用意されています。
- デフォルト値: kilometers_to_miles($kilometers = 0) のように、呼び出し元がその引数を省略した場合、デフォルト値が使用されます。
- 参照による譲渡: パラメータの前に「&」を付けると、関数は呼び出し元の元の変数をコピーではなく変更します。
- 戻り値: return は関数を終了させ、値を返します。return がない場合、関数は null を返します。
以下の例では、参照パラメータとデフォルトレートを使用して、価格に税金を追加します。
<?php function addTax(&$price, $rate = 0.1) { $price += $price * $rate; } $total = 100; addTax($total); echo $total; ?>
出力:
110
$priceは参照渡しされるため、関数は元の$total変数を直接更新し、結果として110という値が表示されます。
