PHP: 宛先と毎週の関数。 パラメータ付き関数、ダイナミック Wiki、PHP 関数の作成 php 関数とは

ノート:サイトのアダプティブ バージョンがアクティブ化され、ブラウザの一部が自動的に更新され、読みやすいようにサイトに詳細が追加されます。 見てみるよ!

良い一日を。 今日の記事では、PHP のオーバーヘッドについて引き続き説明しますが、それだけではありません。 たとえば、クロスワード パズルについて、500 から 500 までのどれを取れるかを推測することができます。 1500 カーボバンシフ。 詳細はすべてわかりますが、読み続けます。

関数とは何ですか?

関数– これはコードのソースなので、PHP スクリプト (こちら側) のさまざまな場所で確認できます。

構文:

Function siteOn()( // 関数本体 echo "ブログのサイトの読者の皆さん、こんにちは!"; )

サイト上- Tsedovіlneіm'ya funktsії、それはレジスタに依存しません。 アプリケーションの機能は、タスクのテキストを表示することです。 PHP インタープリターがコードを処理する場合、本体のないダム関数を実行することはできず、当然、成功しません。 関数の本体は、PHP スクリプトが完了するまで、つまりページの関心が終了するまでメモリ内に保持されます。

関数を作成した後、必要な場所で呼び出しを行う前にタスクを開始する必要があります。 軸の戦い方:

"; ) siteOn(); // siteOn() 関数 wiki; // siteOn() 関数 wiki; // 関数 wiki ?>

アプリケーションでは、関数を 3 回呼び出した結果は次のようになります。

さらに多くの機能が必要ですか?

機能的にはもっと良くなるでしょうか? 関数を使わずに 3 行を書き込むだけで済みます。 たとえこのフラグメント内で変更したいとしても、変更できるのは 1 か所のみで、3 か所では変更できません。 それでもすべてではありません! 注文が 1 つのファイルにある場合の簡単なオプションをすぐに検討しました。 ファイルの存続期間中には数千行が存在する可能性があり、悪臭の分布がファイル全体にわたって無秩序になる可能性があります。

右側の 1 つは、1 つの関数ですべてを記憶するか、10 か月後に記憶してからファイル全体を検索するものです。 すべてではありません! サイトは合計 1 つのファイルになるわけではありません。このようなコードの断片は、数十の異なるファイルで一瞬のうちに発生する可能性があり、このコードの繰り返しをすべて 1 時間で繰り返す機会がありました。 たとえば、すべての関数がファイルに保存されていることがわかっているので、そこに行って一度覚えておきます。

したがって、独自のルールを採用できます。コードが繰り返されたらすぐに、そのコードを使用することが義務付けられます。

根拠の再確認

PHP では、同じ関数を 2 回音声化することはできません。 たとえば、次のように書きます。

// コードは何でも、または何もなくても) 関数 siteOn()( // コードは何でも、または何もなくても } ?>

それはかなりの許しが必要です。 スピーチの前に、あらゆる種類の恩赦を覚えておいてください。

Z:\home\custom\www\index.php の 9 行目で siteOn() (以前は Z:\home\custom\www\index.php:3 で宣言されていた) を再宣言できません

私の教区民の間では、私たちはすでにそのような機能を無効にしており、すでに強奪されたその行のまったく同じファイルに割り当てられていると述べられています。 申し訳ありませんが、PHP には何千もの組み込み関数があるため、この状況は 1 時間の開発のせいにされる可能性があります。

そのような関数がすでにあるかどうかを確認するには、function_exists() 関数をテストします。 お尻:

// コードは何でも、または何もなくても) if(function_exists("siteOn"))( echo "この関数はすでに存在します!"; ) ?>

結果:

特に私には代理の役割はありませんが、あなたがその責任を負っていることは承知しています。

関数の引数

関数の引数をパラメータと呼ぶこともできます。 次のようになります。

アプリケーション内で関数の引数を変更する $author。 どうすればヨーゴ・ヴィコリスタティができるのでしょうか? 関数を呼び出すときは、引数の値全体を渡すことができます。 関数に必要な柔軟性とダイナミクスを与えます。

"; ) siteOn("Sergey"); // 最初の方法 $name = "Andrey"; // その他の方法 siteOn($name); siteOn(); // 何も渡されません ?>

結果:

ヤク・バチテ、引数を渡さなかったら、タイプの恩赦を取り上げた 警告, PHP スクリプトが改善されるとすぐに、すべてがうまくいきました。 そうですね、申し訳ありませんが、すべてが起こった場所についての情報も報告します。 警告 – これは重大な恩赦であり、無視することはできません。

関数は、次のような複数の引数の母になることができます。

"; ) siteOn("Sergey", "Site on!"); // 最初の方法 $name = "Andrey"; // その他の方法 siteOn($name, "Licorice"); siteOn("Fyodor Ivanov"); // 複数の引数を渡しました ?>

結果:

非標準のweekclick関数

トロックは薄い。 次の方法では、機能を呼び出し、何も鳴らさずに、そのように働く必要はありませんが、新たな罪悪感について知ることになります。 ディビモシャ:

";) $text = "siteOn"; // 変更された関数名に渡されます$text("セルゲイ", "サイトオン!"); // Change 経由で関数を呼び出します ?>

結果は次のようになり、次のようになります。

関数の具体的な使用例

前にある九九を覚えていますか? そこにはє 2 パラメータがあります: 行の数і stovptsiv の数、変更を求めるとき。 上位にリストされている 2 つの値を取得するので、そのコードから関数全体を計算します。

前のレッスンのすべてのコードを不変にします。これで、行と列を新しい数値に設定する必要がなくなり、関数を呼び出すときの作業が簡単になります。

// q 2 行をコメントアウトし、関数呼び出し時に数量が転送されるようにする // $行 = 20; // 行数、tr // $cols = 20; // 列数、td$テーブル = "

"; for ($tr=1; $tr<=$rows; $tr++){ $table .= ""; for ($td=1; $td<=$cols; $td++){ if ($tr===1 or $td===1){ $table .= ""; )else( $table .= " "; )) $table. = ""; ) $table .= "
". $tr*$td 。"". $tr*$td 。"
"; echo $table; ) getTable(3,3); // 3 × 3 の乗数テーブルを表示します getTable(5,5); // 5x5 の乗数テーブルを表示します getTable(10,10); // 10×10の九九を表示します ?>

結果:

ロックダウンを支持する議論

関数の作成中に、プロモーションに必要な十分な引数を設定できます。 ロックに重要と思われる引数は関数呼び出し時に表示できませんので容赦はありません。 欠落している引数を置き換えるために、関数はプロモーションの値を自動的に置き換えます。 お尻:

"; ) siteOn("セルゲイ"); ?>

誰のアプリケーションが引数であるか $ブログエンゲージメントの価値を考えると サイトオン!そのため、関数は 1 つの引数のみで呼び出され、もう 1 つは値が省略されてから呼び出されていました。

結果:

オボヴヤズコヴォの昇進を求める議論は残りの人々によって記録されている。

言い換えれば、obov'yazkovіの議論(ほのめかしの背後に意味がない)は、あたかもほのめかしの背後に意味があるかのように、最初に行くために右側に怒っており、そのはるか後ろに議論が続きます。

この関数は単なるコードのブロックであり、名前を付けたり、処理用のパラメーターを入力したりすることができ、必要に応じてハッキングすることができます。 関数の数はほとんどありませんが、逃げても大丈夫です。しかし、信じてください、関数を理解し、その綴り方を学べば、数時間を費やして、読み応えのあるコードを書くことができます。

関数のトピックは、初心者プログラマーにとって折りたたみ可能なものとして受け入れられがちですが、どのような種類の人にとっても知っておく必要があります。 かなりの時間がかかるかもしれませんが、たとえ機能がキャリアプログラマーにとって役立つとしても、諦めないでください。

最初の php 関数を作成します

関数を作成している場合は、最初に私の名前 (例: myCompanyName) を指定する必要があります。 迷子にならないように、関数には「sense」などの分かりやすい名前を付けるのが最善です。 ツェ自体に価値があります。

関数を作成する前の構文は明確で論理的です。 まず、関数を作成したい内容を PHP に伝える必要があります。 キーワード関数と関数の名前やその他の単語を入力することで、それを解決できます (3 つのことについては後ほど説明します)。

軸は無声関数 myCompanyName のように見えます。

ノート: 関数の名前は「_」記号から始めることができますが、数字から始めることはできません。
これは関数のフレームワークにすぎず、途中に任意のコードを配置できます。 毎週の機能にチェックが入ります。 尖ったお尻「()」のカールしたこめかみにチバチテ? Qi アーチは意味しており、de は私たちの機能コードかもしれません。 曲がった弓「(」 PHP は、関数のコードが修復中であると言い、カールした弓は、関数が終了していると言います ")" PHP は、関数が終了したと言います。

たとえば、簡単な方法でそれを理解しましょう。

Axis i はすべて簡単ですよね? 次に、関数を呼び出す方法を学びましょう。

Wiklikが完成したPHP関数

最も単純な関数のコーディングが完了したら、それを試してみましょう。 以下は簡単なスクリプトです。 何の軸を考え出しましょう。私たちの役割と勝利を声に出してみましょう。

!
"; myCompanyName(); echo "ラジウム、バチチ!
";

シンプルなお尻を望むなら、軽蔑が恩赦の原因となるかどうかを理解することが重要です。 関数を作成している場合は、次の簡単な推奨事項に従ってください。

  • 関数は常に function キーワードで始めてください。
  • 関数コードは「(」と「)」の間にある必要があることに注意してください。
  • 関数を呼び出している場合は、スペルが正しいことを確認するためにスペルを変更してください。

パラメータ付きのオプション

もう 1 つの可能性は、パラメーターを使用して関数を呼び出すことができるため、追加情報をコードに渡すことができるという事実にあります。 最初の関数 myCompanyName は、他のすべてが同じ行にあるため、それほど複雑ではありません。

ただし、パラメーターをハックしたので、関数に追加のチップを追加できます。 このパラメータは shackles () と呼ばれ、通常の PHP の変更のように見えます。 パラメーターが渡されるので、人の名前に基づいて礼儀を作成するかのように、新しい関数を作成してみましょう。

"; } ?>

ここで、sayHello 関数を呼び出すと、言語の弓に対してパラメータ (im'ya) を指定することができますが、この関数はパラメータで音声化されており、無視することはできません。
少数のパラメータを指定したい場合は、who および everything を介して無声関数でそれらをオーバーライドするだけで、それ以上は必要ありません。

php関数の値を変える

さらに、関数に情報を渡すことができれば、値自体を回転させることもできます。 ただし、整数、音声、ブール値を希望する場合、この関数は 1 つの値しか回転できないことに注意してください。それは間違いです。

どうすれば意味を変えることができますか? お尻に最高のバラ。 パラメーターを使用して関数を音声化し、実際の変更の結果、次のような軸を与えます。

$myNumber = mySum(3, 4); // mySum 関数呼び出しの結果を $myNumber に取得します echo "関数呼び出し後、 myNumber = " 。 $myNumber。」
"; ?>

意味の機能を引き付けるために、return ステートメントが追加されますが、なぜそれが必要なのでしょうか? 2 つの数値を加算した結果は変数 $ total に格納され、$ total を返すために、その値が関数自体に渡されます。 2 つのパラメータ 3 と 4 (加算するような整数) を指定して関数 mySum を呼び出した後、$myNumber の変更を追加してみましょう。

練習して学んで、すべてを手に入れましょう!

コアの関数は、キーワード function のヘルプの後に作成され、その後に function が続き、引数のリスト (引数の数は null の場合もあります) と関数自体の本体が続きます。 機能の指定はさらに幅広くなります。 同じコードを繰り返しチェックする場合は、そのコードを関数に組み込み、必要な場所でクリックするだけです。 Im'ya 関数はラテン文字の記号から始めることができ、数字と下の十字の記号を置き換えることができます。 受け入れられた好意のために、PHP の関数の名前は小さな文字で始まり、勝利した文字の名前に複数の単語がある場合は、大きな文字で始めるか、連続して始めるのが新しいことです。 、または下位部分文字列のシンボルの後に。

/** * 驚くほど単純なユーザー関数 */ function userFunction() ( )

関数に関しては、複数の命令があり、すべての命令はカールした腕の中央に配置される予定です ()。 機能としては、指示は 1 つだけであり、数字のテンプルには拘束力はありません。 エール、勝利してスタートすることをお勧めします。

PHP には標準関数があり、その名前は自分の関数と一致しません。 date() または time() という名前の関数を作成する場合は、関数の再割り当ての試行に伴う免責事項を無視できます。 PHP 関数は 1 回だけ宣言できます。 機能の再割り当てがブロックされました。 スクリプトの先頭に割り当てられた関数 (多くの場合、メイン スクリプトに接続されている okremi ファイル内) をメイン スクリプトの先頭に呼び出します。 koristuvach の IP アドレスを画面に表示する関数を作成しましょう。

/** * coristuvach の IP アドレスを取得する関数。 * IP アドレスは PHP の $_SERVER スーパーグローバル配列から取得されます * サーバーの登録に関する重要なデータを収集するために */ function userIP() ( print "

" . $_SERVER["REMOTE_ADDR"] . "

"; }

機能が割り当てられました。 これを呼び出すには、必要な空間内のスクリプトで伝達関数と必要なパラメータ (必要に応じて) を指定するだけで十分です。

userip(); // Vivede 画面を koristuvach IP アドレス 127.0.0.1 に送信

可視範囲

以下の機能を操作して、変更の可視領域を理解します。 シナリオのいくつかの場所では、yakіzoloshennyhzmіnnyhが勝利する可能性があるという点でPolyagaet vono。 変更、関数の途中で発声、є ローカル変更。 機能の中心部では、人は彼らに頼ることができますが、機能の境界を越えると、彼らに頼ることはできません。 Іnavpaki、zminnі、oboloshenipotіlomfunktsії、関数自体では利用できません。 エールєダニ、ヤクはどんな場所のシナリオでも利用できます。

スーパーグローバル配列

$_SERVER、$_SESSION、$_COOKIE などはスーパーグローバル配列です。 これらのデータは、どのシナリオでも利用できます。 軸はそれらのほんの一部にも満たないものです。

  • $_SERVER["REMOTE_ADDR"] - koristuvach IP アドレス。
  • $_SERVER["SERVER_NAME"] - サーバー名。
  • $_SERVER["DOCUMENT_ROOT"] - サイトのルート ディレクトリ。
  • $_SERVER["REQUEST_URI"] - ドキュメント アドレスとともに提供されます。

関数の引数

機能として、母親は変化のデータ、または定数、裸の姿勢のデータへのアクセスを担当し、tsіデータは視覚的な引数から転送できます。 スキン関数は、ゼロを含む多くの引数 (パラメーター) を受け入れることができます。 同じ引数の機能を尖ったお尻に移しませんでした。 別の例を見てみましょう。

/** * 関数 amount をダンプして 2 つの追加の値を合計します */ function amount($value_1, $value_2) ( // 関数は 2 つの新しい言語引数を受け入れる必要があります print $value_1 + $value_2; // 合計を表示しますこれらの引数は画面上に表示されます) $green_apples = 10; // 緑のリンゴは 10 個あります $red_apples = 4; // І є є є 4 つの赤いリンゴ // リンゴの数は、amount() 関数の追加呼び出しから決定できます // amount() 関数は 2 つの引数を取ることになっており、それがリンゴの数になります amount ($green_apples、$red_apples); // ビヴェデを画面 14 へ

必要な言語パラメータ(ロック用パラメータ)

関数には多数の引数 (パラメータ) を含めることができ、その中には neobov'azkovі (すべてを含む) が含まれる場合があります。 関数の引数を明確にするために、関数が音声化されるときに略語の値を指定する必要があります。

/** * デフォルト値で関数をダンプします */ function amount($value_1, $value_2, $value_3 = 0) ( print $value_1 + $value_2 + $value_3; )

/** * リンゴの数を考慮してください * amount() 関数は 3 つの引数を受け取りますが、 * 3 番目の引数は矛盾しています。残りの値は * 関数が空のときに割り当てられているため、3 回目は *引数が指定されていない場合、p は失われます。ゼロに注意してください * /$geen_apples = 11; $red_apples=7; 金額($green_apples, $red_apples); // 画面 18 のビヴェデ // コモリにはあと 10 個のリンゴがあることがわかっています、raptovo $ yellow_apples = 10; // Іїх は amount($green_apples, $red_apples, $ yellow_apples) を支払う必要もあります。 // ビヴェデを画面 28 へ

まさに 1 つのシナリオの範囲内で機能するように私に声をかけてくれた人たちに敬意を表します。 いつでも豊かにスキルキを働かせることが可能です。 関数を扱うときは、重要な点が 1 つあることに留意してください。引数関数の途中に、頭の後ろにプロモーションと有声のための無声がありますが、それらは yakє 無声 (obov'azkovymi) と示されています。

Function userF($v1, $v2 = 100, $v3) ( // 誤解しないでください print $v1 + $v2 + $v3; )

値を回転する

この関数の主な特徴の 1 つは、結果を回転できることです。 スクリプトは関数の動作結果を処理する必要があることを忘れないでください。 何よりも、単純に別の場所で保存して勝つ必要があり、シナリオは他の目的に必要です [?] Vlasne、そのような機能を画面上で見るという目的では、実際には勝利しません。。 関数がシナリオのこれらの部分 (viklikan があった) の値を変更するには、return 演算子を高速化する必要があります。 return ステートメントに続くコードが破られていないかどうか (return ステートメントがすぐそこにあるため)。

/** * リンゴを合計するためのピッカー関数の値を設定します。 * ロック用の 1 つの値を設定します。 ※関数は引数の値をそのまま引き取ってスクリプトに変換するだけで、画面には表示しません。 */ function amount($value_1, $value_2, $value_3 = 0) ( $result = $value_1 + $value_2 + $value_3; // 関数の引数の値を合計するだけです return $result; // を渡します$result - local // 何もない 番目の値は関数 body で読み取ることができません ) $green_apples = 9; を変更します。 // 緑のリンゴが є 9 個あります $red_apples = 14; // 赤いリンゴあと 14 個 // すごくたくさんあります... $total_green_red = amount($green_apples, $red_apples); // 値 23 の amount() 関数の return ステートメント、 // 変更の割り当て方法 $total_green_red // 新鮮なリンゴをさらに 7 個入手しました $ yellow_apples = 7; // 私は今... $total_green_red_ yellow = amount($green_apples, $red_apples, $ yellow_apples); // 値 30 を回転して書き留めます // $total_green_red_ yellow $all = amount($total_green_red, $total_green_red_ yellow); // 値を 53 にします // 画面上の Vivede 緑と黒のすべて - 23 print "

緑と赤 - 「. $total_green_red.」

// 画面上の Vivede 緑、赤、黄色すべて - 30 個の印刷

緑、赤、黄色すべて - " . $total_green_red_ yellow ."

// Vivede を画面に表示 合計値 - 53 を出力

合計値は「.$all」です。

";

ノート:サイトのアダプティブ バージョンがアクティブ化され、ブラウザの一部が自動的に更新され、読みやすいようにサイトに詳細が追加されます。 見てみるよ!

ブログの読者の皆様こんにちは サイトの上! 私たちはこれが PHP の関数であることを認識し、強力な関数を作成し、入力のために引数とコールバックを関数に渡す方法を学びました。 PHP の関数のテーマを続けると、次の言葉を追加する必要があります。

  • Vseredin 関数では、他の関数 (統合、so、power など) を含め、任意の PHP コード (サイクル、ウォッシュ、操作) をひねることができます。
  • Im'ya 関数は、ラテン文字またはその文字の記号に基づいて、いくつかのラテン文字、数字、または文字の記号を与えることができます。
  • すべての関数にはグローバル スコープがあります。つまり、関数がビリカンであるかどうかに関係なく、その関数が他の関数の中央に割り当てられる可能性があります。
  • PHP は関数の再マッピングをサポートしていないため、作成した関数を再マッピング (変更、追加) したり、削除したりすることはできません。
  • 陪審員には職務が割り当てられる場合がある。 Tobto vyklichte関数、そして後でのみ - コードの下に説明されていますが、価格は実践の範囲内ではなく、vyklichの許しではありません。

考えられた機能

私たちは休閑心の機能を創造(指定、記述)することができます。 例えば:

//sayHi 関数を呼び出すと、どこからでも呼び出すことができます /*まだ心を誤解しておらず、if の途中に入っていない人のために、ここでは SayGoodbye 関数を呼び出すことはできません*/ if($apply)( function SayGoodbye()( echo "さようなら!"
"; } } /*軸は今、別れを告げることができます ヴィクリカティ*/
"; }

結果:

Іお尻を見てください:

/* そして軸となるものは、ここでは viklikati SayGoodbye のように */さようなら(); if($apply)( function SayGoodbye()( echo "さようなら!"
"; ) ) function SayHi()( echo "皆さん、こんにちは!
"; }

結果:

本当に、私はスキルキを練習していますが、一度もそのようなことを聞​​いたことがなく、言語のあらゆる可能性が路上で必要とされています。

関数挿入

導入された関数 - 関数全体、別の関数の途中で音声化されます。 お尻:

/*ここではsayGoodbyeを呼び出すことはできません。sayHi関数の呼び出し後までシャードは表示されません*/こんにちは(); /*sayHi 関数と呼ばれます。好きな場所で呼び出すことができます*/ /*これで、さようなら、ヴィクリカティと言えます*/さようなら(); function SayHi()( echo "みなさん、こんにちは!"
"; function SayGoodbye()( echo "今はこのままにしておきましょう!
"; } }

最初のバイパス中に、PHP インタープリターは、sayHi 関数の記述について知っていることを示しますが、本文の途中には入らないことはわかっています。インタープリターが SayHi 本文の途中には入らない場合は、 、それからそれは厄介なєではありません、mi vyznaєmoの真ん中にもう1つの機能 - SayGoodbye。

Dalіコード開始vykonuvatisya、mi vyklikaєmosayHi、PHPインタープリタはsayHi関数の本体に入ることができるので、そこでvikonateїїіを実行できますvin vipadkovoは1つの関数の説明を知っています-sayGoodbye、その後、sayGoodbyeでviklik tyを実行できますbe-yakoymіstsі、skіlkizavgodnorazіv。

状況のさらに微妙な瞬間に敬意を表してエールを返すことはより高度です。sayHi 関数は 1 回限りになり、再び可能になります。その後、指定された SayGoodbye 関数に PHP が再び使用されますが、PHP ではそうではありません。このように動作することは可能ですが、関数を再定義することはできません。 ceとそれらについて、戦い方については前の記事で書きました。

PHP では、これ以上の記述はほとんど使用されず、JavaScript などを使用できることが多くなります。

可視範囲

PHP には正確に 2 つのスコープがあります。 グローバルі 地元。 可視領域の皮膚移動プログラミングが異なります。 たとえば、C++ にはループ用の独自の (ローカル) スコープがあります。 控えめに言っても、PHP はグローバルな範囲をカバーします。 しかし今日は関数について話します。

PHP 関数には独自の内部スコープ (ローカル) があるため、関数の途中でのすべての変更は関数の途中でのみ表示されます。

繰り返しますが、関数によって配置されるものはすべてライト スコープであり、関数の中間にあるものはすべてローカル スコープです。 お尻:

グランドマスターたちよ、尊敬し、養ってください! 残りの指示には何が表示されますか $name をエコーし​​ます。 ?

あなた自身のバチリと同じように、私たちも2交代制でした $name、1 つは関数の途中 (ローカル スコープ)、それ以外の場合はコード内 (グローバル スコープ)、残りは変更に割り当てられます。 $nameブロ $name = "ラッド・セルギ";そして、機能の真ん中に石があったとしても、それ以上はありません。 残りの割り当てのグローバル スコープは次のとおりです。 $name = "アンドレイ";結果としてsho mi、vlasne、bachimo。

2 つの同じ変更が行われますが、異なる可視領域では決して重なり合うことはなく、1 つから 1 つが注がれることはありません。

スコープを小さな例で説明してみましょう。

最初のバイパス中、インタプリタは可視の明るい領域をすばやく調べ、変更と機能を記憶しますが、コードは表示されません。

ローカル スコープからグローバルな変更に戻る

ただし、グローバル スコープ内で最も変数 $name に関数を反転する必要がある場合、単に反転するだけでなく変更することになるでしょうか。 という人には、主に 3 つの選択肢があります。 最初のキーワード選定 グローバル:

"; グローバル $name; /*これからはグローバル $name を変更できるようになります*/$name = "ラッド・セルギ"; ) $ name = "アンドリー"; こんにちは($name); $name をエコーし​​ます。 //?

結果:

世界的な変化に目を向けると、エールはマイナスになります $nameローカルの変更を費やした(書き直した) $name.

別の方法勝つことを誓う PHPスーパーグローバル配列。 この PHP 配列自体は、グローバル スコープで行ったように、自動的にスキンの変更を行います。 お尻:

$name = "アンドレイ"; // 同じこと$GLOBALS["名前"] = "アンドレイ";

父親:

$GLOBALS["名前"] = "ラド・セルギ"; ) $name = "アンドレイ"; こんにちは($name); $name をエコーし​​ます。 //?

初めてキーワードが選択されたときの同じ結果 グローバル:

ローカルの変更を書き換えずに変更したのは数回だけです $name機能の途中で、大きくて高価な機能が失われています 「アンドリー」、 だがしかし 「ルド・セルギイ」.

リクエストの引数を渡す

第三の道- ツェアドレス転送( ) 変更可能ですが、chi は її の意味ではありません。 他のプログラミング言語の観点から見ると、PHP の取り組みはそれほど遠くありません。 ティムも同様です。関数に引数を渡す唯一の正しい方法を教えます。これは通常、PHP 5.3 以降でサポートされています。 メッセージを扱う他の方法もありますが、それらは PHP 5.2 以前で開発されたもので、結果として PHP 小売業者自体がそれらの方法を誤っていたため、それらについては触れません。

したがって、軸については、PHP 5.3 でリクエストの引数を渡すのが正しいことであり、次のように行うことができます。

関数sayHi(& $name)(

関数の説明そのものにアンパサンド (&) を追加しました。このアイコンは、変更の値ではなく、メモリ内の値に関するメッセージ (アドレス) を受け入れることを意味します。 PHP で記述すると、同じ値を示す 2 つの変更を作成できます。 「ツェ」とは、そのうちの1つが変わると、侮辱も変わり、記憶の中では悪臭が同じ意味に変わることを意味します。

І その結果、おそらく次のようになります。

// 値は受け入れませんが、値を送信します echo "こんにちは、".$name."!
$name = "ラッド・セルギ"; ) $name = "アンドレイ"; こんにちは($name); $name をエコーし​​ます。 //?

結果:

静的な変更

この状況を知らせてください。私たちは何度歓迎されたかを気にする必要があります。 やっていることの軸が増えています。

$c++; // 数値を 1 増やします


結果:

ズミナ $cその意味を忘れないでください、それは新たに創造されます。 私たちは地元が変わるように取り組む必要があります $c勝利の関数の後の意味を忘れた、勝利のキーワード 静的:

// lichilnik、zrobili静的 echo "こんにちは、".$name."!
$c++; // 数値を 1 増やしますエコー「どういたしまして」 $c. 一度。


"; )sayHi("ルド・セルギ");sayHi("アンドリー");sayHi("ドミトロ");

結果:

回転値

関数には非常に便利なターン値があります。 画面上で見たいものを置き換える機能であれば、すべてを変更して表示してもらえます。 そして、私たちはすでに遠く離れたビリシュエモ、彼女と一緒に働いています。 たとえば、次の関数を考えてみましょう。数値の二乗を計算します。

結果:

どうやら、画面上のビジョンを置き換えた結果、ビジョンの結果が判明したようです。 win が return キーワードとなるのは次のとおりです。

結果:

さまざまな方法で勝つことができるようになりました。

//結果を表示エコー "
$num = getSquare(5); エコー $num;

結果:

キーワードをお持ちの方に敬意を表します 戻る値を回転するだけでなく、実際にロボットの機能を反復処理するため、以下にキーワードとしてリストされているコード全体が実行されます。 戻るそれをする方法はありません。 つまり、関数に対する return も機能します。 壊すサイクルの場合:

echo "私が登場するまで、PHP はそんなことはありませんでした:(";) エコー getSquare(5); //結果を表示エコー "
$num = getSquare(5); // 結果を変更するように設定します$num をエコーし​​ます。 // Viveli 画面に変わります

結果:

トブト 戻る- 関数からの全体の終了。 ヨゴは勝利することができますが、何の意味もなく、ただ出口のためだけに方向転換する必要があります。

再帰関数

再帰関数は、それ自体を呼び出す関数です。 再帰が成功することはほとんどなく、リソースを節約する (完全な) 操作とみなされます。 Ale buvaє、scho 再帰は、最も明白で最も単純なオプションです。 お尻:

"; if($number< 20){ // 再帰が切り取られないようにします countPlease(++$number); // countPlease 関数がそれ自体を呼び出す) countPlease(1);

結果:

再帰なしで行う方法を知っている場合は、この方法で行う方が良いでしょう。

PHP での Suvora の型化 (指定された型)

PHP では、詳細は特定の型にまとめられており、その名前を指定でき、どの型が関数で受け入れられるか (これは と呼ばれます) タイプヒント):

結果:

キャッチ可能な致命的エラー: 引数 1 が countPlease() 呼び出し配列に渡され、整数が指定され、7 行目で /home/index.php という名前が付けられ、3 行目で /home/index.php で定義されました。

申し訳ありませんが、関数は配列を受け入れ、数値が渡されるようです。 残念ながら、今のところは(配列)の型しか指定できませんが、PHP 5.4 からは、次のようなオプションが追加されました。 呼び出し可能:

呼び出し可能転送される値が関数として呼び出せるかどうかを確認します。 Callable は関数名のようなものです。行の変更を設定してみましょう。つまり、これはオブジェクトであり、呼び出すメソッドの名前です。 ただし、オブジェクトとメソッドについては後ほど説明します (私はオブジェクト指向プログラミングを開発しました)。関数についてはすでに知っています。 私は PHP 5.3 を同時に使用しているため、作業の結果をお見せすることはできませんが、次のようになります。

getEcho関数を呼び出した

人生の変化におけるヴィコリスタンニャの議論

そして最後に、めったに勝てないニュアンスがもう 1 つあります。 関数については説明されていませんが、関数に引数を渡している状況を説明します。次に例を示します。

結果:

バカイトのように、恩赦はありませんが、私たちの主張はどこにも伝わりません。 しかし、それは問題が発生したことを意味するわけではありません。問題は依然として関数に転送されており、PHP 関数が使用されるので微調整することができます。

func_num_args()- 関数に渡される引数の数をローテーションします
func_get_arg (シーケンス番号)- 引数のリストから要素を回転します
func_get_args()- 配列を回転して関数の引数を変更する

"; echo func_get_arg(0) ; ) $age = 22; getEcho("Rud Sergiy", $age);

結果:

ヴィシュノヴォク

今日の記事は、PHP 関数のトピックの最後の記事です。 これで、自分の知識を最大限に活用して、ニーズに合わせた機能を大胆に使いこなすことができます。

たとえば、誰かが手を持っているが、それを行う方法がわからない場合、既製の (進行中の) PHP 関数を書くのが最善の方法です。たとえば、自分の手で count() 関数を書くことができます。 、 なんでもいい。

敬意を持ってくださった皆さんに感謝します。また次回お会いしましょう! たとえ理解できなかったとしても、思い切ってコメントに質問してください。

類似記事