ホームページ > バックエンド開発 > PHPチュートリアル > PHP(3) PHP 関数をステップバイステップで学ぶ_PHP チュートリアル

PHP(3) PHP 関数をステップバイステップで学ぶ_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:40:46
オリジナル
1036 人が閲覧しました

1. メソッドの概要

まず、最も単純な関数を作成します。誰でもそれを見てみましょう:

<span style="COLOR: blue"><</SPAN><SPAN style="COLOR: maroon">html</SPAN><SPAN style="COLOR: blue">>
<</SPAN><SPAN style="COLOR: maroon">head</SPAN><SPAN style="COLOR: blue">>
  <</SPAN><SPAN style="COLOR: maroon">title</SPAN><SPAN style="COLOR: blue">></span>HelloPHP<span style="COLOR: blue"></</SPAN><SPAN style="COLOR: maroon">title</SPAN><SPAN style="COLOR: blue">>
</</SPAN><SPAN style="COLOR: maroon">head</SPAN><SPAN style="COLOR: blue">>
<</SPAN><SPAN style="COLOR: maroon">body</SPAN><SPAN style="COLOR: blue">>
  <?</SPAN><SPAN style="COLOR: maroon">php
    </SPAN><SPAN style="COLOR: red">function CustomPrint</SPAN>($<SPAN style="COLOR: red">str</SPAN>)
    {
      <SPAN style="COLOR: red">for</SPAN>($<SPAN style="COLOR: red">i</SPAN><SPAN style="COLOR: blue">=0;$i</SPAN><5;$<SPAN style="COLOR: red">i</SPAN>++)
      {
        <SPAN style="COLOR: red">echo</SPAN>($<SPAN style="COLOR: red">str</SPAN>);
        <SPAN style="COLOR: red">echo</SPAN>(<SPAN style="COLOR: blue">'<br/>'</span>);
      }
    }
    
    <span style="COLOR: red">CustomPrint</span>(<span style="COLOR: blue">"Hello"</span>);
  <span style="COLOR: blue">?>
</</SPAN><SPAN style="COLOR: maroon">body</SPAN><SPAN style="COLOR: blue">>
</</SPAN><SPAN style="COLOR: maroon">html</SPAN><SPAN style="COLOR: blue">>
</span>
ログイン後にコピー

この例を通して、PHP での関数の一般的な書き方が理解できたと思います。構文に関しては、while、for、if なども同様です。違いについては、この記事で徐々に説明します。

OK、この方法の重要なポイントを要約しましょう:

A. PHP メソッドは関数で宣言されます。これは、おなじみの Javascript に似ています。

B. 変数を使用する場合は、ドル記号 ($) で始める必要があります。

2. パラメータの参照の受け渡しと値の受け渡し

パラメータ値の受け渡しと参照の受け渡しは、C 言語を学習するときに誰もが触れたことがあると思います。C# で書かれた例を次に示します。

次に、ここに PHP のバージョンを書き込みます。

りー

この例では: 説明する必要がある点が 2 つあります:

A. 値の受け渡しと参照の受け渡しの違いは、パラメーターの前の「&」です。

B.

CustomPrint
(

'$a='.$a); この文では、単一引用符と二重引用符の違いを説明する必要があります。それらの唯一の違いは、それらが解析できるかどうかです。変数名。この例は問題を説明するのに十分です:

<span style="COLOR: blue">public void </span>Swap(<span style="COLOR: blue">int </span>a, <span style="COLOR: blue">int </span>b)
{
  <span style="COLOR: blue">int </span>temp = a;
  a = b;
  b = temp;
}
<span style="COLOR: blue">public void </span>Swap(<span style="COLOR: blue">ref int </span>a, <span style="COLOR: blue">ref int </span>b)
{
  <span style="COLOR: blue">int </span>temp = a;
  a = b;
  b = temp;
}
ログイン後にコピー

最後に、値で渡す場合、PHP はそれをコピーして渡す必要があります。このように、大きなオブジェクトや文字列が使用されると、時間がかかるだけでなく、スペースも無駄になります。このとき、参照渡しをすると、パフォーマンスを消費するコピー操作を回避できます。パフォーマンスの向上に非常に適しています。 image

3. スコープの問題

C#では変数を使用する前に宣言する必要があるため、スコープやサブスコープという概念が関係しますが、PHPにはそのような概念はありません。

C# コードの一部を見てみましょう:

  <span style="COLOR: blue"><?</SPAN><SPAN style="COLOR: maroon">php
    </SPAN><SPAN style="COLOR: red">function Swap1</SPAN>($<SPAN style="COLOR: red">a</SPAN>,$<SPAN style="COLOR: red">b</SPAN>)
    {
      $<SPAN style="COLOR: red">temp</SPAN><SPAN style="COLOR: blue">=$a;
      </SPAN>$<SPAN style="COLOR: red">a</SPAN><SPAN style="COLOR: blue">=$b;
      </SPAN>$<SPAN style="COLOR: red">b</SPAN><SPAN style="COLOR: blue">=$temp;
    </SPAN>}
    <SPAN style="COLOR: red">function Swap2</SPAN>(&$<SPAN style="COLOR: red">a</SPAN>,&$<SPAN style="COLOR: red">b</SPAN>)
    {
      $<SPAN style="COLOR: red">temp</SPAN><SPAN style="COLOR: blue">=$a;
      </SPAN>$<SPAN style="COLOR: red">a</SPAN><SPAN style="COLOR: blue">=$b;
      </SPAN>$<SPAN style="COLOR: red">b</SPAN><SPAN style="COLOR: blue">=$temp;
    </SPAN>}
    
    <SPAN style="COLOR: red">function CustomPrint</SPAN>($<SPAN style="COLOR: red">str</SPAN>)
    {
      <SPAN style="COLOR: red">echo</SPAN>($<SPAN style="COLOR: red">str</SPAN>);
      <SPAN style="COLOR: red">echo</SPAN>(<SPAN style="COLOR: blue">"<br/>"</span>);  
    }
    
    $<span style="COLOR: red">a</span><span style="COLOR: blue">=1;
    </span>$<span style="COLOR: red">b</span><span style="COLOR: blue">=2;
    </span><span style="COLOR: red">Swap1</span>($<span style="COLOR: red">a</span>,$<span style="COLOR: red">b</span>);
    <span style="COLOR: red">CustomPrint</span>(<span style="COLOR: blue">"值传递的结果:"</span>);
    <span style="COLOR: red">CustomPrint</span>(<span style="COLOR: blue">'$a='</span>.$<span style="COLOR: red">a</span>);
    <span style="COLOR: red">CustomPrint</span>(<span style="COLOR: blue">'$b='</span>.$<span style="COLOR: red">b</span>);
    $<span style="COLOR: red">a</span><span style="COLOR: blue">=1;
    </span>$<span style="COLOR: red">b</span><span style="COLOR: blue">=2;
    </span><span style="COLOR: red">Swap2</span>($<span style="COLOR: red">a</span>,$<span style="COLOR: red">b</span>);
    <span style="COLOR: red">CustomPrint</span>(<span style="COLOR: blue">"引用传递的结果:"</span>);
    <span style="COLOR: red">CustomPrint</span>(<span style="COLOR: blue">'$a='</span>.$<span style="COLOR: red">a</span>);
    <span style="COLOR: red">CustomPrint</span>(<span style="COLOR: blue">'$b='</span>.$<span style="COLOR: red">b</span>);
  <span style="COLOR: blue">?>
</span>
ログイン後にコピー

つまり、外部クラスによって宣言された変数にはメソッド内でアクセスできますが、PHP では異なります:

  <span style="COLOR: blue"><?</SPAN><SPAN style="COLOR: maroon">php 
    </SPAN>$<SPAN style="COLOR: red">a</SPAN><SPAN style="COLOR: blue">=1;
    </SPAN><SPAN style="COLOR: red">echo</SPAN>(<SPAN style="COLOR: blue">"$a"</SPAN>);
    <SPAN style="COLOR: red">echo</SPAN>(<SPAN style="COLOR: blue">"<br/>"</span>);
    <span style="COLOR: red">echo</span>(<span style="COLOR: blue">'$a'</span>);
  <span style="COLOR: blue">?>
</span>
ログイン後にコピー

image変数が定義されているか、空文字列であるかを検出できる関数「isset」を紹介します。

そして、この結果は、外部変数 $name が関数本体内でアクセスできないことを示しています。

ここでもう 1 つ言及しておきます。unset に対応する関数: unset です。この関数は変数の値を削除するために使用されます。

簡単な例を書いてください:

<span style="COLOR: blue">public class </span><span style="COLOR: #2b91af">Student
</span>{
  <span style="COLOR: blue">private string </span>name;
  <span style="COLOR: blue">public void </span>SayHello()
  {
    <span style="COLOR: #2b91af">HttpContext</span>.Current.Response.Write(<span style="COLOR: #a31515">"Hello,I am " </span>+ name);
  }
}
ログイン後にコピー

これらについては、後のガベージコレクションで詳しく説明します。 image

http://www.bkjia.com/PHPjc/321309.html

www.bkjia.com

http://www.bkjia.com/PHPjc/321309.html技術記事 1. メソッドの概要 まず、誰でも見ることができる最も単純な関数を作成します。 html head title HelloPHP / title / head body ? php function CustomPrint ($ str ) { for ($ i =0...)
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート