PHP的笔记
PHP第二章的笔记
关键字不匹分大小写
变量是区分大小写的
注释 $x=17 //存储17到变量$x中
单行注释: $value = $p*exp($r*$t); #取得混合计算的值
标识符:第一个字符必须是一个ASCII字母,下划线或者ASCII0X7F和ASCIIOXFF首字符之后,这些字符以及数字0~9都是合法的。
函数名不区分大小写
类名遵循PHP标识符的标准规则并且不区分大小写
标识符:变量名,函数,常量和类
常量:简单的标识符,一旦设置了变量的值不能被改变通过标识符引用字面量或通过defineI()函数设置常量
数据类型:PHP提供了八种类型的值或数据类型。单值(整型(int),浮点型(float),字符串(char),布尔型(true,false)),复合(数组(array),对象(object)),特殊(资源,NULL)
八进制:0开头和一个0~7的数字
十六进制:0x开头接着是(0~9)的数字或者(A~F)字母的序列
二进制:0b开始接由一个数字(0和1)序列组成
十进制:不能0开头
is_int()函数验证是否为整型
intval()函数将变量转化为整型类型
is_float()函数验证是否浮点数
字符串:变量在双引号中会被解析,而在单引号中,它们不会被解析
is_string()函数测试一个值是否为字符串
is_bool()函数测试一个值是否为布尔型
数组:$person = array("Edison","wankel","Crapper");
sort()函数对数组进行排序
is_Array()函数验证值是否为数组
is_object()函数可测试一个值是否为对象
is_resource()函数测试一个值是否为资源
回调:回调是一些函数或对象的方法被另一些函数的调用
NULL:一个 变量没有值
is_null()函数测试一个值是否为NULL
变量:变量存放任意类型的值
一个变量没有被赋值,值为NULL
变量的引用 $black成为$white的别名 $black=$$white;
unset()函数销毁其中一个变量的值
变量作用域
局部作用域:在函数中声明变量为局部变量,在函数外定义的为全局变量
全局作用域:在函数外声明的变量,可以在程序的任何部分被访问,默认情况下全局变量在内部函数中是不可以访问,需要在函数内使用global关键字来声明变量
静态变量:静态变量在一个函数被多次调用时,其值不会丢失,但此变量仅在该函数的内是可见的,可以用static关键字声明一个静态变量
垃圾收集
符号表是一个将变量名映射到内存中变量值所在地址的数组 $worker=array("Fred",35,"wilma");$other=$worker//数组不被复制,若修改了任意一个副本,PHP将分配所需的内存来进行复制,$worker[1]=36//值发生改变数组被复制,符号表中的每一个值都有一个引用计数器,它的数值表现获取那片内存的方式的数组,之前$worker和$other当未修改了任意一个副本,它们的引用计数器的值为2,也就是说那一个内存有两个方式可以得到,若修改了,引用计数器的值为1,意味是两个内存了有一种方式可以得到,当引用计数器的值为0时,它的内存被释放。
isset()函数,查看一个变量是否被设置或是空字符串
操作符:(*,/,%,+,-)从左到右,(++,--)从右到左
字符串链接操作符:php用点字符(.)作为字符串连接的操作符
自动递增:$var++(先用后加),++$var(先加后用)
strcmp()函数:两个全部由数字组成的字符串进行字典比较
等于(==)全等(===)不等(!=)非全等(!==)大于(>)小于(<)
位操作符
按位取反(~):二进制中0变1,1变0.浮点型数值先要转化成整数
按位与(&):且运算,1&1为1其他全都是0
PHP的函数:binde(),decbin(),octdec()和decoct()来转化换这些数字
按位或(|):或运算,0|0为0其他全为1
按位导或(^):如果两个位中只有一个为1,则结果为1,否则为0
左移位:例如3<<1,11<<1,110=6
右移位:例如3>>1,11>>1,1=1
逻辑操作符:逻辑与(&&,and)两个操作数结果为真时,才为true(真)否则为false(假),逻辑或(||,and)两个操作数结其中一个结果为真时,为true(真)否则为false(假)逻辑非(!)操作数为false时,;逻辑非返回true,否则为false
if(表达式){正确时的表达式}else{错误时的表达式}
(表达式)?正确时的表达式:错误时的表达式
switch语句:一个变量的值可能决定了很多选择,和case一起使用,遇到bleak才会停止
while语句:while(expression)statement,若expression为true时,后面的代码才会实现,只有expression为假时循环才会停止
continue关键字会跳到循环条件的下一次判断,black后增加数字表示black要中断多少层循环
do~while:至少执行一次
for循环的框架:for(start;condition;increment){state ment(s);}
相加赋值(+=)
错误屏蔽(@)
执行(‘ .......’)
类型(instanceof):测试一个变量是否给定类实例化的对象或者时一个接口的实现
$a=new foo //实例化
$isAFoo=$a instanceofFoo; //true
$isABar=$a instanceofBar; //fakse
流程控制语句:if/else,while和for可以重复执行代码,try......catch处理系统错误,若try出现错误,代码的流程进入catch模块中
declare:允许指定的一段代码执行指令:declare(directive)
statement:ticks和encoding
使用encoding指定PHP脚本的输出的编码格式
dealare(encoding = "utf-8");
exit和return脚本遇到exit(die())时停止执行
return语句一般用于某个函数退出返回,或者脚本停止执行
goto语句:只能在同一个文件或者自己的作用域中跳转
包含代码:require和include;require加载了一个不存在的文件时,会产生错误而脚本停止解析,include加载一个不存在的文件,会产生警告不停止脚本中执行
get_included_files()可以看到你的树本包含了哪些文件,它会返回一个包含完整系统路径的文件名的数组