ホームページ  >  記事  >  バックエンド開発  >  PHP で混同されやすい関数とメソッドは何ですか?

PHP で混同されやすい関数とメソッドは何ですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-18 13:42:472553ブラウズ

phpで混同しやすい関数やメソッドは、 1. echoとprintの違い、echoは出力後に戻り値がありませんが、printは戻り値がある、 2. includeの違いそして require の場合、[include()] は条件付きで組み込まれる関数ですが、[require()] は無条件で組み込まれます。

PHP で混同されやすい関数とメソッドは何ですか?

混同しやすい関数とメソッドは次のとおりです:

1. echo と echo の違いprint

PHP の echo と print の関数は基本的に同じ (出力) ですが、この 2 つの間にはまだ微妙な違いがあります。 echo出力後の戻り値はありませんが、printには戻り値があり、実行失敗時にfalseを返します。そのため、通常の関数として使用することができ、例えば次のコードを実行すると、変数 $r の値は 1 になります。

PHP コード:

$r = print "Hello World";

これは、print は一部の複雑な式で使用できるが、echo は使用できないことを意味します。ただし、echo ステートメントは値を返す必要がないため、コード内の echo ステートメントは print ステートメントよりもわずかに高速に実行されます。

2. include と require の違い

include() と require() の関数は基本的に同じです (include)。 include() は条件付き包含関数であるのに対し、require() は無条件包含関数です。たとえば、次のコードでは、変数 $a が true の場合、ファイル a.php がインクルードされます:

PHP コード:

if($a){
include("a.php");
}

および require() $a の値に関係なく、次のコードはファイル a.php をファイルにインクルードします:

PHP コード:

if($a){
require("a.php");
}

エラー処理に関しては、include ステートメントを使用してください。include エラーが発生した場合、プログラムは include ステートメントをスキップします。エラー メッセージが表示されても、プログラムは実行を続行します。ただし、require を使用すると、致命的な誤り。

もちろん、Qifen を文字通りに理解することもできます。require は、非常に強い要求や要件を意味します。

3. require_once() および include_once() ステートメント

単純な require_once() と include_once() ステートメントは似ているので、話は逸れました。 include_once( ) ステートメントは、それぞれ require() ステートメントと include() ステートメントに対応します。 require_once() および include_once() ステートメントは主に、複数のファイルをインクルードする必要がある場合に使用され、同じコード部分をインクルードすることによって発生する関数または変数の繰り返し定義のエラーを効果的に回避できます。

4. 空の文字列 (") と NULL の違い

PHP では、空の文字列と NULL はどちらも値 0 で保存されますが、その型は保存されません。同じです。違います。echo gettype("); と echo gettype(NULL); を試してみると、それぞれ文字列と NULL が出力されることがわかります。もちろん、0 も混同しやすいです。echo gettype( 0) ;型を出力すると、0 の型が整数 (整数) であることがわかります。文字列 (")、NULL、および 0 は「等しい値」ですが、同じ型ではないことがわかります。

5.!isset empty との違い

文字通りの意味から理解できます。empty は変数が「空」かどうかを判断するのに対し、isset は変数がすでに空であるかどうかを判断します。ただし、ここで絶対に必要なことが 1 つあります。 注: 変数値が 0 の場合、empty は変数が空と等しいとみなします。これは、設定がないことと同じです。たとえば、$id 変数を検出するとき、 $id=0、空と isset を使用して、変数 $id が既に設定されているかどうかを検出します。どちらも異なる値を返します。空は設定がないことを意味し、isset は $id の値を取得できます。以下の例を参照してください。

PHP コード:

$id=0;
empty($id)?print "我是空的":print "我是$id ."; //结果:我是空的
!isset($id)?print "我是空的":print "我是$id .";//结果:我是0

6. == (等しい) と === (定数) の違い

4 番目を確認してください。上記の空の文字列 ("") と NULL の違いを見てみましょう。例:

PHP コード:

" == NULL;
" === NULL;

実行後、最初の文字列が true であることがわかります。 2 番目は false! == は値が等しいかどうかのみを比較し、 === では値を比較するだけでなく、型も比較するため、より厳密であることがわかります。

#7. PHP 関数とメソッドの違い

thinkphp ドキュメントを読んだ後、関数とメソッドの仕様があるのを見るまで、これらは同じものだと思っていました。 メソッドはクラス内の「関数」であり、オブジェクトを通じてのみ呼び出すことができます。

特別に、クラス 静的メソッドは、クラス名を通じて直接呼び出すことができます。 .

通常言及される関数は、グローバル スコープの関数である必要があります。導入後は、どこからでも直接呼び出すことができます。

単純な区別は次のとおりです:

関数単独で存在する、つまりプロセス指向部分で定義されている

メソッドはクラスに依存している、つまりオブジェクト指向部分で定義されている

Function 、アルゴリズムの実装とみなすことができます。

メソッドはビジネス ロジックの実装として使用できます。

クラス メソッドはアクセス許可を設定でき、オブジェクトを通じて呼び出す必要があります。

関連する学習の推奨事項:

PHP プログラミングの入門から熟練度まで

以上がPHP で混同されやすい関数とメソッドは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。