ホームページ  >  記事  >  php教程  >  PHP スキル: 例による require と include の使用法の詳細な分析

PHP スキル: 例による require と include の使用法の詳細な分析

WBOY
WBOYオリジナル
2016-06-21 09:01:30780ブラウズ

PHP では、include と require の関数は混同されやすいです。以下では、古典的な例を使用して、それらの違いを詳しく説明します。

データベースに頻繁にアクセスする場合は、接続ステートメントをファイル

con_db.php

$dbh = mysql_connect(' localhost','','');
mysql_select_db('admreqs');
?>

実際のアプリケーションでは、プログラム内でこのファイルを呼び出すことができます。

たとえば、require("con_db.php") または include("con_db.php)

この時点で、2 つの関数の効果はほぼ同じです。

しかし、これを使用する場合

filename.php

require("con_db.php")
function myfun($par1,$par2)
{データベースの処理されたステートメントが含まれます}
....
myfun($par1,$par2);
....
myfun($p1,$p2);
?>

ファイルが myfun に到達しても、$dbh が変数として関数に渡されない限り、関数内で外部変数を取得できないため、ファイルは実行されません。

この問題は、関数内に require または include を入れることで解決できます。 include を使用すると、ファイル内の最初の関数呼び出しが実行されます。正常に通過しますが、2 回目の呼び出しはデータベースを閉じないと実行されません。つまり、con_db.php を require に置き換えると、すべてが正常になります。 require も同様で、プログラムが実行されると、関数の内部または外部に関係なく、require ファイルが最初に実行され、一度だけ実行されますが、include は実行されるたびにファイルを呼び出します。つまり、この実行後、次回実行されるときに再度実行されます。

したがって、ループ内で特定のステートメントを 1 回だけ実行したい場合は、require を使用してそれらを含めることができます。

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