八种原始类型,单双引号的区别以及isset empty有什么区别
来源:互联网 发布:js强制刷新页面 编辑:程序博客网 时间:2024/05/16 06:54
数据类型
PHP支持八种原始类型。
四种标量类型:
1:布尔型(boolean)
2:整型(integer)
3:浮点型(float)(浮点数,也作double)
4:字符串(srting)
两种复合类型:
1:数组(Array)
2:对象(Object)
最后两种特殊类型:
1:资源(Resource)
2:NULL
单双引号的区别
//1,双引号可以解析变量,单引号不能解析变量
$a=100;
$str = "abc $a cde";//双引号可以解析变量
$str = 'abc $a cde';//单引号不能解析变量
//2,双引号当中的变量需要使用特殊字符隔开,特殊字符会被原样输出,除了{}
$a = 100;
$str = "abc$acde";//abc
$str = "abc~$a~cde"//a~100~cde
$str = "abc{$a}cde"//a100cde
echo $str;
//3,双引号和单引号当中如果包含自己,其中的双引号或者单引号需要转义字符来转义
$str = "ab\"cde\"fg";//ab"cde"fg
$str = 'ab\'cde\'fg';//ab'cde'fg
echo $str;
//4,单引号和双引号可以互相嵌套
$str = "ab'cde'fg";//ab'cde'fg
$str = 'ab"cde"fg';//ab"cde"fg
echo $str;
//5双引号中可以包含单引号,单引号当中包含变量,变量可以被解析,单引号会被原样输出
$a = 100;
$str = "abc'$a'defg";//abc'100'defg
echo $str;
//6,双引号可以解析转义字符,单引号不能解析转义字符(除了单引号和反斜线本身)
$str = "abc\ndefg"//可以换行
$str = 'abc\ndefg'//abc\ndefg
$str = 'abc\\ndefg'//abc\ndefg
echo $str;
//7,变量和字符串链接,变量和变量连接,字符串和字符串连接,需要使用.来连接
$a = "abc";
$str = "cde";
echo $a.$str;
//8,单引号的效率高于双引号
浮点类型:
浮点类型不能精确运算
NULL
什么情况下,变量会被定义为NULL?
1,未定义的变量
2,直接赋值为NULL
3,unset销毁的变量
//1,如何检测一个变量是否被定义,
isset();//检测一个变量是否被定义// isset为假: 1,直接定义为NULL 2,未定义的变量为假 3,unset销毁的变量为假
$a = 100;
var_dump(isset($aa));
//2,如何检测一个变量是否为空
$a = 100;//false;
$a = array();//true
var_dump(empty($a));//判断一个变量是否为空
//3,isset empty有什么区别?
issset为假的情况:
$a = NULL;//a,直接赋值为NULL的为假
//b,未定义的变量为假
$b=100;
unset($b);//c,unset销毁的变量
var_dump(isset($b));
empty为真的情况:
$a = 0; //1,整型0会被判断为空
$a = 0.0; //2,浮点类型0.0也会判断为空
$a = ""; //3,空字符串
$a = "0"; //4,0字符串
$a = false; //5,布尔的false
$a = array();//6,空数组
$a = null //7 ,NULL
var_dump(empty($a));
//!,isset empty有什么区别?
a)Isset是用来检测一个变量是否被设置(定义)
b)Empty是用来检测一个变量是否为空
c)Isset函数在NULL的三种情况下为假
1,未定义的变量
2,直接赋值的NULL
3,Unset销毁的变量
d)Empty函数在false的七种情况下为真
1,整型0
2,浮点类型0.0
3,布尔类型false
4,字符串类型 空字符串“” 0字符串“0”
5,数组类型 array()
6,NULL
PHP支持八种原始类型。
四种标量类型:
1:布尔型(boolean)
2:整型(integer)
3:浮点型(float)(浮点数,也作double)
4:字符串(srting)
两种复合类型:
1:数组(Array)
2:对象(Object)
最后两种特殊类型:
1:资源(Resource)
2:NULL
单双引号的区别
//1,双引号可以解析变量,单引号不能解析变量
$a=100;
$str = "abc $a cde";//双引号可以解析变量
$str = 'abc $a cde';//单引号不能解析变量
//2,双引号当中的变量需要使用特殊字符隔开,特殊字符会被原样输出,除了{}
$a = 100;
$str = "abc$acde";//abc
$str = "abc~$a~cde"//a~100~cde
$str = "abc{$a}cde"//a100cde
echo $str;
//3,双引号和单引号当中如果包含自己,其中的双引号或者单引号需要转义字符来转义
$str = "ab\"cde\"fg";//ab"cde"fg
$str = 'ab\'cde\'fg';//ab'cde'fg
echo $str;
//4,单引号和双引号可以互相嵌套
$str = "ab'cde'fg";//ab'cde'fg
$str = 'ab"cde"fg';//ab"cde"fg
echo $str;
//5双引号中可以包含单引号,单引号当中包含变量,变量可以被解析,单引号会被原样输出
$a = 100;
$str = "abc'$a'defg";//abc'100'defg
echo $str;
//6,双引号可以解析转义字符,单引号不能解析转义字符(除了单引号和反斜线本身)
$str = "abc\ndefg"//可以换行
$str = 'abc\ndefg'//abc\ndefg
$str = 'abc\\ndefg'//abc\ndefg
echo $str;
//7,变量和字符串链接,变量和变量连接,字符串和字符串连接,需要使用.来连接
$a = "abc";
$str = "cde";
echo $a.$str;
//8,单引号的效率高于双引号
浮点类型:
浮点类型不能精确运算
NULL
什么情况下,变量会被定义为NULL?
1,未定义的变量
2,直接赋值为NULL
3,unset销毁的变量
//1,如何检测一个变量是否被定义,
isset();//检测一个变量是否被定义// isset为假: 1,直接定义为NULL 2,未定义的变量为假 3,unset销毁的变量为假
$a = 100;
var_dump(isset($aa));
//2,如何检测一个变量是否为空
$a = 100;//false;
$a = array();//true
var_dump(empty($a));//判断一个变量是否为空
//3,isset empty有什么区别?
issset为假的情况:
$a = NULL;//a,直接赋值为NULL的为假
//b,未定义的变量为假
$b=100;
unset($b);//c,unset销毁的变量
var_dump(isset($b));
empty为真的情况:
$a = 0; //1,整型0会被判断为空
$a = 0.0; //2,浮点类型0.0也会判断为空
$a = ""; //3,空字符串
$a = "0"; //4,0字符串
$a = false; //5,布尔的false
$a = array();//6,空数组
$a = null //7 ,NULL
var_dump(empty($a));
//!,isset empty有什么区别?
a)Isset是用来检测一个变量是否被设置(定义)
b)Empty是用来检测一个变量是否为空
c)Isset函数在NULL的三种情况下为假
1,未定义的变量
2,直接赋值的NULL
3,Unset销毁的变量
d)Empty函数在false的七种情况下为真
1,整型0
2,浮点类型0.0
3,布尔类型false
4,字符串类型 空字符串“” 0字符串“0”
5,数组类型 array()
6,NULL
阅读全文
0 0
- 八种原始类型,单双引号的区别以及isset empty有什么区别
- empty 与 isset 的区别
- empty,is_null,isset的区别
- empty,is_null,isset的区别
- empty()和isset()的区别
- isset()和empty()的区别
- isset和empty的区别
- empty()和isset()的区别
- empty() 和 isset() 的区别
- empty 和isset的区别
- isset()与empty()的区别
- isset()和empty()的区别
- empty、isset、is_null的区别
- empty、isset、isnull的区别
- empty()与isset()的区别
- empty和isset的区别
- isset、empty、is_null的区别
- isset()和empty()的区别
- 使用ELK对openstack日志进行收集分析
- 记Selenium HTMLTestRunner 无法生成测试报告的总结
- 【SpringBoot】SpringBoot之入门配置文件
- 【java基础:net】基于TCP的图片上传与反馈Demonstration
- lamp————mariaDB
- 八种原始类型,单双引号的区别以及isset empty有什么区别
- 【Scikit-Learn 中文文档】随机梯度下降
- netty基本介绍
- maven打成一个jar包
- C++|多态分析
- java 金钱计算 BigDecimal
- 多机MySQL一主双从详细安装
- 30款让android开发效率成倍长的小工具,你还没用过就out了(附下载地址)
- mybatis的一对多双向关联映射