define — 定义一个常量。定义成功,返回 true,否则返回 false defined — 检查某个名称的常量是否存在。若存在,返回 true,否则返回 false
实例:
defined('YII_DEBUG') or define('YII_DEBUG', true); //等同于: if (!defined('YII_DEBUG')) { define('YII_DEBUG', true); }关于代码中 or 的用法:
逻辑运算符的运算顺序是从左向右or 运算符的左结合性or 运算中,如果运算时有值为 true,则整个表达式为 true,后面代码不执行include 和 require 的区别:
require 和 include 几乎完全一样,除了处理失败的方式不同之外。require 在出错时产生 E_COMPILE_ERROR 级别的错误,include 只产生警告 E_WARNING,换句话说,require 将导致脚本中止,而 include 脚本会继续运行。 <?php include 'a.php'; // 假设 a.php 并不存在,程序可以继续执行 echo '111'; // 运行结果: Warning: include(a.php): failed to open stream: No such file or directory in D:\www\index.php on line 3 Warning: include(): Failed opening 'a.php' for inclusion (include_path='.;C:\php\pear') in D:\www\index.php on line 3 111 <?php require 'a.php'; // 假设 a.php 并不存在,程序立即停止 echo '111'; // 运行结果: Warning: require(a.php): failed to open stream: No such file or directory in D:\www\index.php on line 3 Fatal error: require(): Failed opening required 'a.php' (include_path='.;C:\php\pear') in D:\www\index.php on line 3 incdlue 与 require 的功能相同,但在用法上却有些不同。include 是有条件包含函数,而 require 则是无条件包含函数。 // 如果变量$var为真,则包含文件 if ($var) { include('example.php'); } // 不管变量$var取何值,都将包含文件 if ($var) { require('example.php'); } <?php require 'a.php'; requrie 'a.php'; // a.php 被包含了两次 require 'a.php'; require_once 'a.php'; // 检查到已经包含过,不会进行第2次包含针对 empty(),以下的东西被认为是空的:(即 empty(var) 返回 true)
“” (空字符串)0 (作为整数的0)0.0 (作为浮点数的0)“0” (作为字符串的0)NULLFALSEarray() (一个空数组)$var; (一个声明了,但是没有值的变量)