以下代码能正常执行吗?如果能 会有什么问题?
 if($condiation)
   include('a.php');
 else
   require_once('b.php');
不知道求解答

解决方案 »

  1.   

    如果a.php没问题的话应该可以正常执行
    a.php异常的话程序会中断
      

  2.   

    include()会产生一个警告,而require()则导致一个致命的错误(出现错误,脚本停止执行)
      

  3.   

    require不能用在if else中。肯定会被包含
      

  4.   

    他的意思是script中的require会在parse后先被运行,而不是运行到该句.这个印象中是很老版本的特性,现在应该已经改变. 目前require/include的唯一差别就是报错级别.谁有空试一下
      

  5.   

    include()会产生一个警告,而require()则导致一个致命的错误(出现错误,脚本停止执行)++
      

  6.   

    require 是无条件包含进来的
      

  7.   

    刚开始学的时候记得说是无条件
    新版本的PHP貌似跟 helloyou0 说的一样 没测试
      

  8.   

    要是一道面试题的话 可能就是考你 include include_once require require_once 之间的区别,单从程序没看出什么结果来
      

  9.   

    PHP 5.3.1下验证, require不会预加载. require与include的区别应该只在fatal error与warning之间了吧.
      

  10.   

    没有问题啊 , 不会执行  require_once('b.php'); 的 
      

  11.   

    答案是能执行,只要要两个文件都正常存在,但是不管$condition如何 ,b.php都会被动require进来
      

  12.   

    if else 就不说了都明白     include('a.php'); 不管有没有a.php这个文件都会往下执行,没有a.php这个文件报一个警告,require_once('b.php');如果没有b.php 这个文件就不往下执行了,直接报错。
      

  13.   

    include('a.php')不管有没有这个a.php文件都会往下执行,但是报一个警告。require_once('b.php') 如果没有b.php这个文件不会往下执行,报致命错误。如果有b.php文件只包含一次
      

  14.   

    还有一点要注意的是:
    require_once/include_once会记住什么文件被包含过,有且仅会包含一次,如果再次require_once文件,就会别PHP忽略,效率降低。require/include就不会记,可能导致重复的引入文件错误,或你需要引入的时候,它却别PHP忽略掉,看这代码在什么地方执行吧。
      

  15.   

    若你的a.php或b.php中包含的有header();函数,那么在include()或require()之前不能有输出语句,不然会报错的!
      

  16.   

    include和include_once两个如果请求不到文件会报warning
    程序还会继续执行
    可以用在ifelse语句中
    而require和require_once不同 如果请求不到文件会发生致命错误.并且脚本终止执行
    并且无论require_once和require是否能够得到执行权限.在实际中写有require和require_once的代码行都会被执行.这个和PHP的执行机制有关系.
    所以上面的代码.能够执行.执行的结果就是
    条件成立的情况下如果请求道a.php和b.php那么不会报错.如果请求到a.php但没有b.php会报致命错误.如果请求到b.php而没有请求到a.php那么会报警告.如果两个文件都不存在.会报警告和致命错误.
    如果条件不成立
    效果类似上面只是没有警告了.