因为最近学习完了JS的内容,发现在写前端代码的时候,总是会遇到PHP,所以就打算开始学习PHP,以下是我在学习《PHP语言精粹》的笔记
一、前两章
php的注释有三种
# // 和/* */
#是整行注释 //是行注释,但可以不是一整行 /**/是多行注释
php的变量以$开头表示,就类似于JS的var。之后只能接字母或者_
但是每次用到定义过的变量的时候PHP需要一直带着这个$,而JS不用,所以说var和$并不是完全一样
变量有八种原始(基础)类型,分为三大类,
标量类型:布尔型,整型,浮点型,字符型
复合类型:数组,对象
特殊类型:NULL,资源(表示对函数,数据库数据、文件或者其他PHP外部资源的引用指针
变量赋值有两种:一个是传值,一种是传引用
传值是直接赋值的意思,传引用是把一个变量的值传给另一个变量,即一个变量引用另一个变量的值的意思
传引用的用法是在目标变量前加一个&,例子
$firname = &$firstname,变量firnae就代表了firstname变量,或者说他们两个所代表的值是同一个
1、注释和基本语法
PHP的变量作用域问题,和JS不一样,PHP在函数内部有着严格的作用域要求
函数内部定义的变量不能在函数外部使用,(但是JS的可以,所以有闭包)。
而函数外部的变量也不能在函数的内部使用,(而JS是可以的,因为JS有继承链,所以可以在函数外找到变量)
2、常量
定义常量,PHP有一个常量的含义,用是的define(),这一点和python很像
这个常量是一个在定义之后就不能改变的值,一直到代码程序被关闭为止。在JS中,一直到ES6,才有了 const 这样的一个类似的定义方法。
用法是 define(“常量名词”,常量值,[是否大小写不敏感,即true/false])
define(“SYS_OWNER", ”Peter"),默认是false,即大小写敏感。
常量的命名习惯上是全部大写。
3、判断和选择
PHP和JS中的表达式没多大的区别
PHP和JS中的==判断和===判断是一样的
if…else..也一样,不过PHP中还有和python一样的elseif(在python中是elif),这在JS中是没有的
PHP每一条代码最后的;不能省略,这和JS不一样
elseif用得太多的话,不如用switch…case,这一点还是和JS一样,break也一样,没有的话,会一直往下执行代码,这一点需要注意
while和do..while,for都是一样的