PHP では、include と require の関数は混同されやすいです。以下では、古典的な例を使用して、それらの違いを詳しく説明します。 データベースに頻繁にアクセスする場合は、データベース接続ステートメントをファイルに書き込むことができます con_db.php $dbh = mysql_connect(localhost,,); 実際のアプリケーションでは、プログラム内でこのファイルを呼び出すことができます。 require("con_db.php") や include("con_db.php) など 現時点では、2つの機能の効果はほぼ同じです。 しかし、このように使用すると ファイル名.php require("con_db.php") 関数内で外部変数を取得できないため、ファイルがmyfunに到達すると実行を継続できなくなります(includeの場合も同様)。 $dbh が変数として関数に渡される場合を除きます。これにより、関数の呼び出しが複雑になります。 この問題は関数内にrequireやincludeを入れることで解決できます。 include を使用すると、ファイルの最初の関数呼び出しはスムーズに通過しますが、2 番目の呼び出しは実行されません。これは、データベースを一度閉じないと開くことができないためです。つまり、con_db.php が 2 回実行されます。 。 include を require に置き換えれば、すべて問題ありません。 つまり、requireはプリスキャンに似ていて、プログラムが実行されるとき、関数の内側か外側かに関係なく、requireファイルが最初に一度だけ実行されます。そして、 include は実行されるたびにファイルを呼び出します。つまり、この実行後、次にこの時点まで実行されるときに、再度実行されます。 したがって、ループ内で 1 回だけ実行したい特定のステートメントがある場合は、それらを require で含めることができます。
mysql_select_db(admreqs);
?>
function myfun($par1,$par2)
{データベース処理用のステートメントが含まれています}
....
myfun($par1,$par2);
.. ...
myfun($p1,$p2);
?>