機能:
特定の機能を備えたコードの集合を指します。この関数が必要な場合は、対応する関数を実行(呼び出し)できます。
構造化プログラミングは、関数を独立した構造にカプセル化します。
抽象的なプログラミング。
関数を使用するたびに、関数を定義します。変換 機能をツールにして、使用するときはそのツールを使用するだけです。
関数は使用する前に定義する必要があります。関数の定義者によると、関数はシステム関数とユーザー関数に分けられます。
関数の基本構文:
関数を定義するための構文:
関数関数名(パラメータ) {
関数本体
}
関数を呼び出すための構文:
関数名 (関数に渡されるパラメーター)。
関数の基本的な構成要素:
関数名 関数フラグ
パラメータ 関数実行時の一部のデータ参照
関数本体 (関数の機能を実装するコード ブロック)
関数の戻り値(関数の実行結果、フィードバックメッセージ)
定義:
電話:
関数名の部分については変数名の命名規則を参照してください。ただし、関数名の大文字と小文字は区別されません。
ただし、定義方法と呼び出し方法に注意してください。
関数のパラメータ部分:
仮パラメータ: 関数の定義で使用されるパラメータは、仮パラメータと呼ばれます。仮パラメータには特定の値はありません。値は呼び出されたときにのみ割り当てられます。仮パラメータと呼ばれます。
実際のパラメータ: 関数が呼び出されるとき、仮パラメータの規則に従って実際の意味を持つパラメータが渡されます。このとき実パラメータ、略して実パラメータと呼びます。
通常、仮パラメータは、実パラメータの値を取得するために関数が呼び出されるときに値によって渡されます。
値による受け渡しとは対照的に、参照による受け渡しもあります。
パラメーターを参照によって渡す必要がある場合は、仮パラメーターを定義するときにその前に参照記号 &.
を追加する必要があります。
このとき、max3 が呼び出されるとき:
関数本体の変数 x、y、z の値を変更すると、a、b、c に異なる影響が生じます。
パラメーターが多くのリソースを占有する場合、効率を向上させるために、値または参照を使用する必要がありますか?引用。
すべてのパラメータが特定の方法で配信されるかどうかは必須ではなく、パラメータに個別に設定できます。
パラメータのデフォルト値:
関数を定義するときに、関数のパラメーターのデフォルト値を設定できます。このようにして、関数を呼び出すときに、このパラメーターにデータが渡されない場合は、代わりにデフォルト値が使用されます。
関数の戻り値:
関数は return ステートメントを使用して戻り値をマークします。
通常、各関数には戻り値が必要ですが、構文的には戻り値を持たないことも可能です。
関数が return ステートメントを実行すると、関数の実行は終了します。これは、return ステートメントの後のすべての関数本体を実行する必要がなくなったことを意味します。
関数は戻り値をいくつ持つことができますか? 1つ。
return ステートメントはいくつ存在できますか?複数。
通常、関数の戻り値は 1 つだけですが、関数の関数で 2 つのデータを返す必要がある場合はどうすればよいでしょうか。関数はどのようにして 2 つの値に同時に影響を与えることができるのでしょうか?
2 つの値をコレクション型データにパックします。
パラメーターを参照によって渡します。
Php の多くの関数は、1 つの関数が複数の戻り値を処理するという目的を達成するために参照の受け渡しを使用します。
ヒント: パラメーターが参照によって渡される場合、呼び出し時に変数を渡す必要があります。参照渡しできるのは変数だけだからです。
スコープの問題:
変数のスコープは関数によってスコープに分割されます。
変数が定義されている場合、その変数をどのコードで使用できるか。
変数はどのスコープに属している必要があります。誰もが PHP にどのようなスコープがあるかを知る必要があります:
グローバルな範囲。関数の外側はグローバル スコープに属します。グローバル スコープで定義された変数は、グローバル スコープで表示されます。
ローカルスコープ。関数内では、関数はローカル スコープを形成します。ローカル スコープで定義された変数はローカルに表示されます。
スーパー グローバル: 関数の内部または外部に配置できます。
ローカル スコープのグローバル スコープ変数にアクセスします。ローカル スコープで変数をグローバルとして宣言するには、キーワード global を使用する必要があります。
global キーワードの使用に加えて、次のメソッドも使用できます:
Php は、定義されたすべてのグローバル変数を配列に入れます。この配列は $GLOBALS (スーパー グローバル) です。
GLOBALS の各要素はグローバル変数であり、要素の添字はグローバル変数名、要素の値は変数値です。
関数の呼び出し時にローカル スコープが生成されます。
同様に、関数が終了すると、関数によって生成されたスコープが消え、スコープ内のすべての変数が消えるはずです。
グローバル スコープは、php スクリプトの実行時に生成されます。
スクリプトが終了すると消えます。グローバル スコープ内の変数も消えるはずです。
PHP では、ローカル スコープの静的変数がサポートされています。スコープはローカル スコープにも属します。ただし、この静的変数は静的であるため、関数が終了しても消えることはなく、元の処理値が維持されます。
静的ローカル変数は、現在の関数のスコープ内でのみ有効です。
簡単な要約:
通常のグローバル: 関数外
通常のローカル: 関数
内スーパーグローバル: どこでも
静的ローカル: 現在の関数内では、関数が終了しても消えません。次回呼び出したときに使用できます。
グローバルをローカルで使用します: global $GLOBALS[]
宿題
パラメータを参照渡しする役割は何ですか?
ヤン・フイ・トライアングルを完了する:
最初の列と対角線はすべて 1、
それ以外の場合、値は = 頭上の値 + 左肩上の値です。
1
11
121
1331
14641
15101051
1615201561
関数として定義
Yanghui(7); パラメータは行数です。
ヒント: これは、二重ループと配列操作を使用して実現できます
星を印刷
関数 xingxing(4);
を定義する必要があります。