PHP

作者: 为君梳作半面妆 | 来源:发表于2017-10-15 12:31 被阅读0次

PHP

一、变量

变量命名规则:

1、变量名可以使a-z、A-Z、0-9、_(下划线);

2、变量不能是数字开头;

3、可以驼峰式命名和帕斯卡命名法;

4、php变量前面必须有$符号;

二、数据类型

标量数据类型:字符串型、整型、浮点型、布尔型

符合数据类型:数组、对象

特殊数据类型:资源、null

1、整型

范围(php的):-21亿~21亿

2、浮点型(小数:有限小数、无线小数)

范围(php的):-1.7E-308到1.7E+308(举例9E3 => 9*10^3= 9000)

因此浮点型包括整型

注意:浮点型不能直接做运算(有的浮点型不能转成精确的二进制)

3、字符串型

单引号:可以转义\’和\\,只能读取变量名

双引号:可以转义\’、\”、\\、\n、\t、\r,可以读取变量值用{},类似于jsES6的`${}`,当然不用{}可以在变量后面跟一个空格或非空字符也可以解析变量

长字符串:以“<<

4、布尔型

true或false,经常用于条件判断,如if、while、for等

5、资源类型

指的是php对外部文件的引用。如数据库、文件操作、图片验证码等

6、null

当一个变量不存在是就是null,他只有一个值就是null(注意和js的区别,js变量存在没有值为null,当变量不存在就是underfind)

三、PHP变量的类型判断

1、var_dump()

描述:打印变量的相关信息(包括变量的类型和值)

用法:他可以传递多个值,可以同时打印,该函数没有返回值

2、is_*()

该函数又返回值,返回值是布尔值

is_bool():判断变量是不是布尔型

is_int():判断变量是不是整型

is_float():判断变量是不是浮点型

is_numeric():判断变量是不是数值型

is_string():判断变量是不是字符串类型

is_array():判断变量是不是数组

is_object():判断变量是不是对象

is_unll():判断变量是否为空

is_resource():判断变量是否为资源类型

3、isset()

判断变量值是否设置(赋值)

有返回值,返回值是布尔值,变量设置且不是null则为true,否则为false

4、empty()

检查一个变量是否为空;

返回值也是布尔值,如果是空返回true,不是空返回false;

说明:如果“”,0,“0”,null,false,array(),var $var;以及没有任何属性的对象都将被认为是空。

5、unset()

销毁指定的变量可以多参数,他删除的变量的名和中间的指向,不能删除内存空间的值(和js的delete一样)

四、数据类型的转换

1、自动转换

2、强制转换

强制转换成布尔型例如:(bool)$a

提醒:资源转换成布尔值永远为true

强制转换成整型例如:(int)$a

强制转换成其他类型:(*)$a

五、PHP运算符

1、算术运算符:+,-,*,/,%,++,--

2、字符串运算符:.或.=(这里要区别js,js字符串的拼接用+,PHP用.)

3、赋值运算符:=、+=、-=、*=、/=、%=

4、比较运算符:>、<、>=、<=、==、!=、===、!==(其结果是布尔值)

5、逻辑运算符:||(或)、&&(与)、!(非);(闰年的判断①能被4整除,不能被100整除;②能被400整除;③条件一和条件二是或的关系)

6、三元运算符:条件?条件成立时执行:条件不成立时执行

7、运算符的优先级:特殊运算符>算术运算符>比较运算符>逻辑运算符>赋值运算符

六、条件语句和循环语句(和js一样)

七、拷贝传值和引用传地址

拷贝传值:就是把一个变量复制一份传给另一个变量,这两个变量是相互独立的(这个和js的栈储存机制类似,和js不同的是php的拷贝传值,不只适用于字符串,整型,浮点型,null,还适用于数组。js的数组是引用传值,在js里数组也是对象,我们知道在js里对象是堆储存机制,栈里面的变量对应的只是指向堆里面对象的一个指针,所以js里的对象是引用传值,传的是指针,所以拥有同样指针的任何一个变量,改变了对象,其他拥有同样指针变量指向的对象都会改变)

引用传地址:在PHP中默认引用传地址只有对象和资源(js里是对象),但是php里可以手动添加引用传地址就是在引用的变量前面加一个&符号(js里没有手动引用传地址)

八、数组

PHP数组是一个函数生成的:array(10,20,30,40,50)

php打印数组函数print_r($arr)

而js数组是通过new关键字来实例化底层数组函数对象生成,也可以使用[]来生成;

php获取数组里的某个成员和js一样都是通过下表获取

PHP的关联数组

array(

‘name’=> “lcp”

)

js关联数组

var arr = [];

arr[‘name’] = ‘lcp’

php通过[]创建数组和js是不一样的$arr[] = “nihao”这就表示创建了一个数组,他不需要js里先声明一个空数组。[]里可有值或者没有,没有就是在该数组最大下标加一增加一个成员;如果[]里面有值就是在该数组指定下标增加一个成员。

九、数组的操作(以下方法都适用于数组)

1、print_r()——console.log()

易于理解的方式打印一个变量的内容

2、unset()——delete标识符

删除一个变量的变量名和指针,不删除内存里的值

3、count()——length属性

计算数组中的单元个数或者对象中的属性个数(只统计有效数据),因此他有返回值。

4、foreach()——forEach()、map()

只能用于遍历数组

十、函数

php的函数和js很像,唯一区别就是参数,php的函数参数就是变量要有$符号,js也是变量但是省略了var关键字。而且php可以引用传参就是在参数前加&符号。

功能:任何语言的函数,都是为了复用。

十一、全局变量

在js中,全局变量,可以在任何地方访问。

在PHP中,全局变量,不能在函数内部直接使用。

在PHP函数里想使用全局变量,就要使用global关键字(实质就是引用传地址);

十二、PHP的时间函数

date()和time();

总结:php和js语言上的区别,js有很多关键字,PHP关键字要少一些,而php有很多内置的方法,给人的感觉就像PHP,是内置方法组合的一样。

相关文章

网友评论

      本文标题:PHP

      本文链接:https://www.haomeiwen.com/subject/lpwgextx.html