require 文は、 プリプロセッサの #include 文の動作と 同じく、自分自身を指定したファイルで置き換えます。
これは、ループ構造の中に require 文 を置き、各ループ毎に別のファイルの内容を読み込むことが できないことを意味します。 これを行うには、include文を使用して下さい。
require 'header.inc';
include およびrequire は共に 実際にターゲットファイルの中身を呼出側のファイル自体に読みこむことに 注意してください。ターゲットを HTTP のようなものを経由してコールする わけではありません。よって、 インクルードされるファイルは効率的に呼出側のファイルの一部になるため、 インクルードされた側のスコープで設定された全ての変数はインクルード されるファイルの中でも自動的に利用可能です。
include( "file.inc?varone=1&vartwo=2" ); /* 動作しません */ $varone = 1; $vartwo = 2; include( "file.inc" ); /* $varone および $vartwo は file.inc で利用可能です */