- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
16.PHP数据类型PHP课件最新版讲述
PHP数据类型
PHP的数据类型
字符串(string)
整形(integer)
浮点型(float或者double)
布尔型(boolean)
数组(Array)
对象(Object)
资源(Resource)
弱类型
$var?=?variable;?$var?=?100;?$var?=?1.00;?$var?=?false;$var?=?array();?$var?=?new?stClass();
PHP是一个弱类型语言,因此在申明一个变量的时候,并不需要指明它保存的数据类型,因此在PHP中声明一个变量非常容易
var_dump
之前,我们学习了echo,echo只能输出变量的值,而我们下面介绍的var_dump则更进一步
使用var_dump不仅可以输出变量的值,还可以输出变量的类型,以及变量的长度,因此,我们通常在调试代码的时候使用它,譬如:
$var?=?variable;var_dump($var);
输出的结果是string(8) “variable”,表示8个字节长度的字符串
请尝试使用var_dump输出前一页中剩余的变量
字符串
页面中需要显示的文字,在PHP代码中我们使用单引号或者双引号包含
单引号,那么字符串可以使用双引号包含作为一些技巧性的使用,如果字符串中含有
$var?=?foo;
同理,如果字符串中含有双引号,则可以使用单引号包含
$var?=?bar;
如果双引号包含的字符串中要显示双引号,或者单引号包含的字符串中要显示单引号,我们可以添加转义符(一个斜杠\)
$var?=?\foo\;$var?=?\bar\;
单引号和双引号
PHP中字符串使用单引号还是双引号并没有严格的约定
实际上,引号是可以随意使用的,只要注意不要混用,引号必须配对即可
唯一的不同就是变量的问题,双引号中可以直接将变量转换为值,而单引号不行,请问下面的代码会输出什么?
$name?=?andy;echo?my?name?is?$name;echo?my?name?is?$name;
勿忘引号
PHP初学者最容易犯的一个错误就是忘记给文字加引号
hello 这是字符串
$hello 这是变量
hello 系统会认为这是一个常量
heredoc和nowdoc
当需要写一大段文本,好多行,里面又有单引号,又有双引号,导致转义的时候,都比较麻烦. 可以用heredoc, nowdoc两种界定字符串的方式
标示符
字符串本身
标示符;
标示符规则与变量一致,字母或下划线开头,跟任意的字母数组或下划线
结束标示符一定要顶到一行开始的位置,并且不允许有其他字符
$age?=?29;$str?=?TEST? ? 我来写一行,? ? 再来第2行,???\,? ? dsafd? abc?\t?\r\n?haha? ? $ageTEST;echo?$str;
heredoc和nowdoc
heredoc就是一个没有使用双引号的双引号,就是里面可以包含双引号,且不用转义,而且可以解析特殊字符和变量
nowdoc就是没有使用单引号的单引号,nowdoc包含的字符串会原样输出,里面包含的特殊字符和变量不会被解析
整型
常见的十进制整型我们无需多说
$var?=?100;?//?使用var_dump输出是int(100)
另外,在PHP中,我们还可以设置其他进制的整型
十六进制整型,必须以0x开头
$var?=?0xff;?//?使用var_dump的话,应该输出什么结果?
int(255)
八进制整型,必须以0开头
$var?=?010;?//使用var_dump的话,应该输出什么结果?
int(8)
整型长度
PHP_INT_SIZE
32位系统为4(字节)
64位系统为8(字节)
PHP_INT_MAX
32位系统为2的32次方 2147483647
64位系统为2的64次方 9223372036854775807
浮点型
我们常见的带小数的数字就是浮点型
$var?=?3.14;?//?var_dump的结果是?float(3.14)
小数还有另外一种表现形式,叫科学计数法
3.14*10^3 可以使用3.14e3来表示
$var?=?3.14e3;?//?var_dump的结果是多少?
float(3140)
正指数相当于小数点向右移动对应的位数而负指数是向反方向移动
$var?=?3.14e-3;?//?var_dump的结果是多少?
float(0.00314)
其他类型
布尔型
也叫bool型,只有两种值,true或者是false
数组、对象、资源
这些我们会单独在后面的课程中介绍
思考
$val_int?=?100;
$val_str?=?100;
请思考两个变量在内存中保存的值是否一样?
文档评论(0)