非常不建议这样写代码。
require_once()是调用公用的代码段(b.php,c.php,d.php),而你在公用的代码段又使用私有(a.php)中的变量值,这样不符合代码的规范。
也许楼主是为了学习相互调用的过程,但本人认为,应该在最初始的学习阶段,就学习并深刻理解规范的代码编写,这样对以后的工作非常有用。
你说的这样的情况应该不可能的,你自己编写四个只有一两行的测试的a.php、b.php、c.php、d.php试试看,无论是否使用变量,都能使用,除非你赋值语句在require_once之后。
require 好像 就是直接包含进来的。比include多了一层是否存在的判断罢了(个人理解)。
应该不会出现你说的情况。你看下是不是其他的原因造成的。
你的问题很有可能是$var 或者 $xxx 在a,b,c,d 四个文件中,变量被重用或者说覆盖了.请仔细检查下有没有变量重用的.导致变量传递不正常.