个人笔记——PHP复习之路——数据类型
毕业工作一年多了,由于工作原因,自己应用的知识范围过于广泛,工作岗位跨度过广,导致所有的编辑知识仍旧停留在应用阶段,且基础知识理解不深,顾近期开始复习php知识。
首先先贴张图谱,防止一个懒虫忘记复习路线,也防止东一块、西一块的,没有系统整理。
PHP数据类型大体有:布尔型(Boolean)、整型(integer)、浮点型(float、double)、字符串(String)、数组(array)、对象(object)......
(P.S.复习的时候,抱着一本老掉牙的书籍进行复习,真心是累了,书本上竟然说只有3种类型,我勒个去,还是网上找一下学习吧。)
1.布尔型:
最简单的类型TRUE 或 FALSE(大小写就不用管了)。类型转换中,存在如下情况布尔值是FALSE的:
a.FALSE本身
b.整型值0
c.浮点值0.0
d.空字符串
e.字符串"0"
f.无元素的数组
g.无任何成员变量的对象(搜索了一下,这是PHP4.0适用,真是老掉牙的知识,本来还以为没用了的,结果发现公司的项目使用的PHP版本跨度太大了,还是记住吧,万一某个历史文件就冒出一个呢?)
h.特色类型NULL,应该还包括未设定的变量
排除上述的情况,其他非0值则应该都是TRUE了。
2.整型:
印象中,在学校学习好像有提过,整型范围和使用的机子有关,不过常用的应该都是32位了,其他就不考究了,自己就记整型32位范围吧。查了一下,说:“Integer值的字长可以用PHP_INT_SIZE标识”,
“最大值用PHP_INT_MAX标识”。
一扯到整型,不得不提的就是十进制、十六进制等。(哎,晕死,目前好像工作那么久,除了前端HTML颜色用十六进制,真心没发现还有哪里有,不过前端的颜色值和PHP的更扯不上什么关系吧),0x:
十六进制,0(零)八进制(传入8和9
会,则后面的数字都将会忽略,0123481333..........->01234)。
(哎呀,差点忘记了,PHP没有办法整除的,好像要用PHP函数才能将小数去掉,真麻烦。php函数——round() )
3.浮点型:
又是一个和平台有关的类型,真心不知道定义了,找一段复制粘贴——“浮点型,也叫浮点数,双精度数或实数,字长和平台有关,通常最大值是1.8e308,并具有14位十进制数字的精度(64位IEEE格式)”。
4.字符串:
字符串由单引号或双引号定义。
5.数组:
是无序的元素序列。“PHP中的数组是一个有序的映射。”——键值对了,<?php $arr=array(0=>"零",1=>"壹");?>
6.对象:
哎,身为一个单身狗,还是new一个女朋友吧。对象和对象的的转换还是对象啊。(前端学习JavaScript的设计模式,js中一切都是对象,不知道PHP是啥?)
故而PHP允许进行转换的类型如下:
(int) 、integer:整型
(array):数组
(float)、(double):浮点型
(string):字符串转换
(object):对象
转换方式有:1.(int)、(float)、(bool)、(array)、(object)
<?php
$float=12.34;
$int=(int)$float;
var_dump($float);//12.34
var_dump($int);//12
?>
2.php函数转换,intval()、strval()、floatval()
<?php
$str="192.43";
$int=intval($str);
$float=floatval($str);
$str2=strval($float);
?>
3.settype()——这种老实说,没有到网上找复习资料,真不知道数据类型转换还有这种方式的。
<?php
$float=12.8;
$boolean=settype($float,"int");
var_dump($boolean); //输出bool(true)
var_dump($float); //输出int(12)
?>
(P.S. 吐槽:老实说,以前学习的知识老早就忘了,不得不吐槽——“学会基础,然后立马学了个ThinkPHP框架(或其他)立马找工作”这是不错,但是对于职业发展真心不行,如果再糟心点,进入的公司后,有一位让一个刚毕业不久就各个岗位轮一遍的领导,更是糟糕。)