常量定义
自定义常量 常量名区分大小写
系统的魔术常量不区分大小写 __DIR__ __dir__

变量定义
变量名是区分大小写
变量名声明时用$符号开头, 而且要符合变量名的命名规则

$i;
var_dump($i);
$i = 'ok';
var_dump($i);

$i = "Hello";
var_dump($i);

$i = 20;
var_dump($i);

$i = 20.5;
var_dump($i);
//变量类型 和javascript 变量类型相似,是变体类型
$i = true;
var_dump($i);

函数名 类名 不分区大小写

php基础函数
phpinfo();
var_dump($i);
echo gettype($i);
define('AGE',200);
defined('AGE');
realpath()
dirname();

1.echo和print的区别php中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但print有返回值,当其执行失败时返回flase。因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1。
代码:

$r = print "Hello World";

这意味着print可用在一些复杂的表达式中,而echo则不行。但是,因为echo语句不要求返回任何数值,所已在代码中echo语句的运行效率要略微快于print语句。

2.include与require的区别

include()与require()的功能也基本相同(包含),但在用法上也有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面代码中,如果变量$a为真,则将包含文件a.php:
代码:
if($a){ 
include("a.php"); 
}
而require()则和include()不同,不管$a取何值,下面的代码将把文件a.php包含进文件里:
代码:
if($a){ 
require("a.php"); 
}
在错误处理方面,使用include语句,如果发生包含错误,程序将跳过include语句,虽然会显示错误信息但是程序还是会继续执行!但requre却会给你来个致命错误。
当然,从字面意思上我们也可以理解七分:requre是很强硬的请求、要求的意思。

3.require_once()和include_once()语句

题外话了,因为长的像,简单require_once()和include_once()语句分别对应于require()和include()语句。 require_once() 和include_once()语句主要用于需要包含多个文件时,可以有效地避免把同一段代码包含进去而出现函数或变量重复定义的错误。

4.空字符串()和NULL的区别

PHP中空字符串和NULL都是以值为0存储的,但是他们的类型并不一样,你可以试一下echo gettype();和echo gettype(NULL);你会发现他们打印出来的分别是string和NULL,当然还有0也容易混淆,你可以试试echo gettype(0);打印一下类型,会发现0的类型是integer(整型),可见字符串()、NULL和0是“等值”但不等类型。

5.!isset和empty的区别

从字面意思上我们就可以明白:empty是判断一个变量是否为“空”,而isset 则是判断一个变量是否已经设置。但是这里有一点绝对要注意起来:当一个变量值为0,empty 认为这个变量同等于空,即相当于没有设置。比如当我们检测$id 变量的时候,当$id=0 ,用empty和isset来检测变量$id是否已经配置,两都将返回不同的值:empty 认为没有配置,isset 则能够取得 $id 的值,看下边例子:
代码?:
$id=0;
empty($id)?print "我是空的":print "我是$id ."; //结果:我是空的
!isset($id)?print "我是空的":print "我是$id .";//结果:我是0
6.==(等)和===(恒等)的区别
回顾上面第四条空字符串("")和NULL的区别,再来看一个例子:
代码:
== NULL;
=== NULL;

最新文章

  1. NetApp常用检查命令
  2. uC/OS-II邮箱(mbox)块
  3. August 19th 2016 Week 34th Friday
  4. LeetCode 423. Reconstruct Original Digits from English——学会观察,贪心思路
  5. javascript 实现HashTable(哈希表)
  6. 关于FastDFS Java客户端源码中的一个不太明白的地方
  7. HUD 2846 Repository
  8. sunJCE or ibmJce,was服务器下使用des的注意点
  9. Android Monkey自己主动化測试
  10. 将图片转为ASCII字符画
  11. dom操作js
  12. ansible基础及使用示例
  13. nyoj 取石子(七) 环形博弈
  14. Kafka面试题
  15. Node.js之接收前台数据实例
  16. Bat脚本实现监控进程功能
  17. python的map函数的使用方法详解以及使用案例(处理每个元素的自增、自减、平方等)
  18. anaconda安装tensorflow后pip安装jieba出错的问题
  19. bootstrap-table简单使用
  20. 20162328WJH实验五网络编程与安全实验报告

热门文章

  1. [BS-26] UIView、pop和Core Animation区别
  2. 根据子查询批量删除的sql语句
  3. C# --2007Access链接字符串
  4. [OpenS-CAD]屏幕坐标转换分析
  5. Java多例设计模式
  6. javascript中argument1 === void 0的意思
  7. LinQ系列文章
  8. 转:python webdriver API 之分页处理
  9. 前端新手分析 AJAX执行顺序,数据走向
  10. 数据库 SQL基础