PHP易混淆函数的区分
常量定义
自定义常量 常量名区分大小写
系统的魔术常量不区分大小写 __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;
转载于:https://www.cnblogs.com/2881064178dinfeng/p/6142216.html
PHP易混淆函数的区分相关推荐
- PHP易混淆函数的区分方法及意义
1.echo和print的区别 PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.echo输出后没有返回值,但print有返回值,当其执行失败时返回flase.因此可以 ...
- php empt注意事项,PHP 注意事项 易混淆函数区别(面试题常见)
# 易混淆函数区别(面试题常见) ### 1.echo.print.print\_r/var\_dump的区别 ~~~ echo():可以一次输出多个值,多个值用逗号隔开,echo是语言结构,而并不是 ...
- php中empty()和isset()、echo()和print()、require()和include()等易混淆函数的区别
1.echo和print的区别 PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.echo输出后没有返回值,但print有返回值,当其执行失败时返回flase.因此可以 ...
- a链接易混淆与form表单简易验证用法详解
链接可以说遍布互联网,比如你想提供一个可以跳转到百度首页的链接给网友,那么代码如下: <a href="http://www.baidu.com">百度一下,你就知道& ...
- 【C#小知识】C#中一些易混淆概念总结(三)---------结构,GC,静态成员,静态类...
目录: [C#小知识]C#中一些易混淆概念总结 [C#小知识]C#中一些易混淆概念总结(二) ---------------------------------------分割线----------- ...
- 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...
- C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用...
这几天一直在复习C#基础知识,过程中也发现了自己以前理解不清楚和混淆的概念.现在给大家分享出来我的笔记: 一,.NET平台的重要组成部分都是有哪些 1)FCL (所谓的.NET框架类库) 这些类是微软 ...
- JAVA WEB部分易混淆问题总结
2019独角兽企业重金招聘Python工程师标准>>> 前言 最近在看了一些java基础问题,顺便将这段时间看到的容易混淆和已忘记的问题进行整理总结一下. 接下来会再写一些数据库方面 ...
- python编程基础(四):编程习惯、代码规范、易混淆之处
目录 编程习惯 代码规范 python中self的作用 易混淆之处 编程习惯 1. 添加主函数if __name__ == 'main': 2. 使用project_path = os.getcwd( ...
最新文章
- Java中使用LUA脚本语言
- Java反射实现几种方式
- 李洋疯狂C语言之冒泡排序法
- php小猫咪图床源码V1.8
- ADO.NET三个基本对象(一)
- AI小白必读:深度学习、迁移学习、强化学习别再傻傻分不清
- Android 高斯模糊demo
- php计算百分比加成_百分比计算器
- 查看端口占用,并解除占用
- fiddler自定义显示目标IP和时间
- Android 高级学习心得及项目要点
- DDD~microsoft NLayerApp项目中的层次结构图
- Kubernetes 一键部署实践
- Spark versus Flink: Understanding Performance in Big Data Analytics Frameworks论文总结
- 人性的弱点【了解鱼的需求】
- 51单片机c语言数组怎么用,51单片机之C语言-4.2数组
- java和美利达_JAVA、GIANT、MERIDA、UCC四大厂商破风铝架横评
- 如何添加Google统计在自己的网站
- 遗传算法锦标赛选择java实现_多目标遗传算法 ------ NSGA-II (部分源码解析)二元锦标赛选择 tourselect.c...
- 华为手机怎么录屏?十分简单,轻松学会
热门文章
- 远程值守_北京静态交通公司首个远程值守停车场投入使用
- mysql 时间取日期函数_mysql 获取当前日期函数及时间格式化参数详解
- php7抓取网页数据,php7-远程获取api接口或网页内容
- Dubbo3 Triple 协议简介与选型思考
- 聚焦云原生,阿里云与 CNCF 共话「云未来,新可能」
- Charles模拟403/404(Web)
- 最大信息熵增益_机器学习笔记(三)——搞懂决策树必备的信息增益
- 黑php的称呼,称呼
- mysql+enable+sql+log_CentOS7下利用rsyslog+loganalyzer配置日志服务器及Linux和windows客户端配置...
- pdf导入ps颜色太浅_分享五个免费的pdf转换器,你更想选择哪一款?