PHPチュートリアル

PHPホーム PHPイントロ PHPインストール PHP構文 PHPコメント PHP変数 PHPエコー/印刷 PHPデータ型 PHP文字列 PHP番号 PHP数学 PHP定数 PHP演算子 PHP If ... Else ... Elseif PHPスイッチ PHPループ PHP関数 PHP配列 PHPスーパーグローバル PHP正規表現

PHPフォーム

PHPフォーム処理 PHPフォームの検証 PHPフォームが必要 PHPフォームのURL / Eメール PHPフォームの完了

PHP Advanced

PHPの日付と時刻 PHPインクルード PHPファイルの処理 PHPファイルのオープン/読み取り PHPファイルの作成/書き込み PHPファイルのアップロード PHPクッキー PHPセッション PHPフィルター PHPフィルターアドバンスト PHPコールバック関数 PHP JSON PHPの例外

PHPOOP _

PHPOOPとは PHPクラス/オブジェクト PHPコンストラクター PHPデストラクタ PHPアクセス修飾子 PHPの継承 PHP定数 PHP抽象クラス PHPインターフェース PHPの特性 PHP静的メソッド PHPの静的プロパティ PHP名前空間 PHPIterables

MySQLデータベース

MySQLデータベース MySQLコネクト MySQL Create DB MySQLテーブルの作成 MySQLの挿入データ MySQLは最後のIDを取得します MySQL Insert Multiple MySQLを準備しました MySQL Select Data MySQL Where MySQL Order By MySQLデータの削除 MySQLアップデートデータ MySQL制限データ

PHP XML

PHPXMLパーサー PHPSimpleXMLパーサー PHPSimpleXML-取得 PHP XMLExpat PHP XML DOM

PHP -AJAX

AJAXイントロ AJAX PHP AJAXデータベース AJAX XML AJAXライブ検索 AJAXポール

PHPの

PHPの例 PHPコンパイラ PHPクイズ PHP演習 PHP証明書

PHPリファレンス

PHPの概要 PHP配列 PHPカレンダー PHPの日付 PHPディレクトリ PHPエラー PHP例外 PHPファイルシステム PHPフィルター PHP FTP PHP JSON PHPキーワード PHP Libxml PHPメール PHP数学 PHPその他 PHP MySQLi PHPネットワーク PHP出力制御 PHP正規表現 PHP SimpleXML PHPストリーム PHP文字列 PHP変数の処理 PHPXMLパーサー PHP Zip PHPタイムゾーン

PHP関数


PHPの真の力は、その機能にあります。

PHPには1000を超える組み込み関数があり、さらに独自のカスタム関数を作成できます。


PHP組み込み関数

PHPには、特定のタスクを実行するためにスクリプト内から直接呼び出すことができる1000を超える組み込み関数があります。

PHP組み込み関数の完全な概要については、PHPリファレンスを確認してください


PHPユーザー定義関数

組み込みのPHP関数に加えて、独自の関数を作成することもできます。

  • 関数は、プログラムで繰り返し使用できるステートメントのブロックです。
  • ページの読み込み時に関数が自動的に実行されることはありません。
  • 関数は、関数の呼び出しによって実行されます。

PHPでユーザー定義関数を作成する

ユーザー定義の関数宣言は、次の単語で始まりますfunction

構文

function functionName() {
  code to be executed;
}

注:関数名は、文字またはアンダースコアで始まる必要があります。関数名では大文字と小文字は区別されません。

ヒント:関数の機能を反映した名前を関数に付けてください。

以下の例では、「writeMsg()」という名前の関数を作成します。開始中括弧({)は関数コードの開始を示し、終了中括弧(})は関数の終了を示します。この関数は「Helloworld!」を出力します。関数を呼び出すには、名前の後に角かっこ()を付けてください。

<?php
function writeMsg() {
  echo "Hello world!";
}

writeMsg(); // call the function
?>


PHP関数の引数

引数を介して関数に情報を渡すことができます。引数は変数のようなものです。

引数は、関数名の後の括弧内に指定されます。引数はコンマで区切るだけで、いくつでも追加できます。

次の例には、1つの引数($ fname)を持つ関数があります。familyName()関数が呼び出されると、名前(Janiなど)も渡されます。この名前は関数内で使用され、いくつかの異なる名が出力されますが、名前は同じです。

<?php
function familyName($fname) {
  echo "$fname Refsnes.<br>";
}

familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>

次の例には、2つの引数($ fnameと$ year)を持つ関数があります。

<?php
function familyName($fname, $year) {
  echo "$fname Refsnes. Born in $year <br>";
}

familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>

PHPは緩く型付けされた言語です

上記の例では、変数がどのデータ型であるかをPHPに通知する必要がないことに注意してください。

PHPは、その値に応じて、データ型を変数に自動的に関連付けます。データ型は厳密な意味で設定されていないため、エラーを発生させることなく、整数に文字列を追加するなどのことができます。

PHP 7では、型宣言が追加されました。これにより、関数を宣言するときに予期されるデータ型を指定するオプションが提供され、strict 宣言を追加することで、データ型が一致しない場合に「致命的なエラー」がスローされます。

次の例では、以下を使用せずに、数値と文字列の両方を関数に送信しようとしていますstrict

<?php
function addNumbers(int $a, int $b) {
  return $a + $b;
}
echo addNumbers(5, "5 days");
// since strict is NOT enabled "5 days" is changed to int(5), and it will return 10
?>

指定するstrictには、を設定する必要がありますdeclare(strict_types=1);これは、PHPファイルの最初の行にある必要があります。

次の例では、数値と文字列の両方を関数に送信しようとしていますが、ここにstrict 宣言を追加しました。

<?php declare(strict_types=1); // strict requirement

function addNumbers(int $a, int $b) {
  return $a + $b;
}
echo addNumbers(5, "5 days");
// since strict is enabled and "5 days" is not an integer, an error will be thrown
?>

strict宣言は、物事を意図された方法で使用することを強制します


PHPのデフォルトの引数値

次の例は、デフォルトパラメータの使用方法を示しています。引数なしで関数setHeight()を呼び出すと、デフォルト値が引数として使用されます。

<?php declare(strict_types=1); // strict requirement
function setHeight(int $minheight = 50) {
  echo "The height is : $minheight <br>";
}

setHeight(350);
setHeight(); // will use the default value of 50
setHeight(135);
setHeight(80);
?>

PHP関数-戻り値

関数が値を返すようにするには、次のreturnステートメントを使用します。

<?php declare(strict_types=1); // strict requirement
function sum(int $x, int $y) {
  $z = $x + $y;
  return $z;
}

echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
?>

PHPの戻り型の宣言

return PHP 7は、ステートメントの型宣言もサポートしています。関数の引数の型宣言と同様に、厳密な要件を有効にすることで、型の不一致時に「致命的なエラー」がスローされます。

関数returnの型を宣言するには、関数を宣言するときに、コロン( )と開き中括弧( )括弧:の直前に型を追加します。{

次の例では、関数の戻り値のタイプを指定します。

<?php declare(strict_types=1); // strict requirement
function addNumbers(float $a, float $b) : float {
  return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>

引数の型とは異なる戻り型を指定できますが、戻りが正しい型であることを確認してください。

<?php declare(strict_types=1); // strict requirement
function addNumbers(float $a, float $b) : int {
  return (int)($a + $b);
}
echo addNumbers(1.2, 5.2);
?>

参照による引数の受け渡し

PHPでは、引数は通常値によって渡されます。つまり、値のコピーが関数で使用され、関数に渡された変数は変更できません。

関数の引数が参照によって渡される場合、引数を変更すると、渡された変数も変更されます。関数の引数を参照に変換するには、& 演算子を使用します。

参照渡し引数を使用して、変数を更新します。

<?php
function add_five(&$value) {
  $value += 5;
}

$num = 2;
add_five($num);
echo $num;
?>

PHP演習

エクササイズで自分をテストする

エクササイズ:

。という名前の関数を作成しますmyFunction

 {
  echo "Hello World!";
}