PHP (ハイパーテキスト プリプロセッサ) は、Web 開発で広く使用されているサーバー側スクリプト言語です。動的なページ、Web サイト、アプリケーションを作成し、さまざまなデータベースをサポートし、学習と使用が簡単です。その中でも関数はPHP言語において重要な概念です。この記事では、PHP関数の基礎入門から応用までの学習ルートを紹介します。
関数は、いくつかのパラメーターを受け取り、いくつかの操作を実行し、結果を返す、カプセル化されたコードの一部です。例:
function add($a, $b) { return $a + $b; }
この関数は 2 つのパラメータを受け取り、それらの合計を返します。上記の関数は他の場所で繰り返し呼び出すことができるため、コードの再利用性と保守性が向上します。ここでは、関数の基本的な知識をいくつか示します。
function
キーワードを使用します。関数名は、変数名の規則に準拠した一意の識別子である必要があります。関数パラメータは、関数名の後にカンマで区切って複数のパラメータを定義することもできます。 return
ステートメントを使用して結果を返します。 return
ステートメントに値が指定されていない場合は、null
が返されます。各関数は最大 1 つの値を返すことができます。 PHP では、さまざまな種類の関数を使用できます。一般的に使用されるタイプをいくつか示します。
echo()
関数はページにテキストを出力し、date()
関数は現在の日付と時刻を取得します。 add()
関数はカスタム関数です。 $add = function($a, $b) { return $a $b; }
これは、$add(1, 2)
を使用して呼び出すことができます。 $func_name = 'add'; $func_name(1,2)
とすると、add()
関数が呼び出され、パラメーターが渡されます。 関数のパラメータは、値または参照によって渡すことができます。値によって渡される場合、関数は引数のコピーのみを使用し、元の値は変更されません。参照によって渡される場合、関数は実際の引数の場所を取得し、それらを変更します。
例:
function swap($a, $b) { $tmp = $a; $a = $b; $b = $tmp; } $x = 3; $y = 5; swap($x, $y); echo $x; // 输出 3 echo $y; // 输出 5
この例では、関数 swap()
は 2 つのパラメーター $a
と $b
を受け取りますが、関数内ではコピーを使用するだけです。したがって、$x
と $y
の値は交換されません。
値を交換したい場合は、参照渡しを使用できます。
function swap(&$a, &$b) { $tmp = $a; $a = $b; $b = $tmp; } $x = 3; $y = 5; swap($x, $y); echo $x; // 输出 5 echo $y; // 输出 3
この例では、パラメータで &
記号を使用しています。パラメータは参照転送です。これで、$x
と $y
の値が交換されました。
PHP の変数スコープには、グローバル変数とローカル変数が含まれます。グローバル変数はスクリプト全体で使用できますが、ローカル変数は関数内でのみ使用できます。
例:
$x = 10; function test() { $y = 5; echo $x; // 会抛出一个 Notice 错误 echo $y; // 输出 5 } test(); echo $x; // 输出 10
この例では、関数 test()
内でローカル変数 $y
を定義し、グローバル変数を試みます。 $x
はコードの残りの部分で使用されます。ただし、$x
は test()
で定義されていないため、 Notice エラーがスローされます。
関数でグローバル変数を使用する場合は、global
キーワードを使用できます:
$x = 10; function test() { global $x; $y = 5; echo $x; // 输出 10 echo $y; // 输出 5 } test(); echo $x; // 输出 10
この例では、global
key $x
をグローバル変数としてマークし、関数 test()
内で使用します。
PHP 関数の使用法を拡張できるいくつかの高度な関数の概念もあります。
function add($x) { return function($y) use ($x) { return $x + $y; }; } $add5 = add(5); echo $add5(3); // 输出 8 echo $add5(4); // 输出 9
この例では、add()
関数を使用してクロージャを作成します。この関数は $x
と $ のみを返します。 y
の合計。次に、$add5 = add(5)
を使用して新しい関数を作成し、それを $add5
変数に割り当てます。さて、$add5()
はクロージャです。パラメータ 3
と 4
をそれぞれ渡して 2 回呼び出し、各呼び出しの後に結果を出力します。
function process($data, $func) { foreach($data as $item) { $func($item); } } $print = function($x) { echo $x . "<br>"; }; $data = [1,2,3,4,5]; process($data, $print);
在这个例子中,我们使用了一个回调函数 $print
,它接收一个参数并将其输出到屏幕上。然后我们使用 process()
函数,将 $print
函数作为参数传递,并将 $data
数组作为参数。在 process()
函数内部,我们使用 foreach()
循环遍历 $data
数组,并将每个元素传递给 $func
函数,这里就是 $print
函数。
function add(...$nums) { return array_sum($nums); } echo add(1, 2, 3, 4, 5, 6); // 输出 21
在这个例子中,我们定义一个 add()
函数,使用三个点号(...
)作为前缀来指示它是一个可变参数函数。然后我们使用 array_sum()
函数对所有传递给函数的值进行求和。
本文介绍了PHP函数基础知识、常用类型、参数传递、变量作用域和高级函数概念。如果您是初学者,请从基础入门开始,逐步深入研究和实践PHP函数的使用。如果您已经有经验,请继续学习高级概念,以提高您的编程技能。无论您是什么级别的PHP程序员,掌握PHP函数是非常重要的。它是编写高效、可维护和可读的代码的关键,也是打造优秀Web应用程序的必备技能。
以上がPHP関数の入門から上級までの学習ルートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。