review-the-php

 · 2019-12-13 · 次阅读


变量的作用域

变量的作用域:指该变量在程序中可以被使用的范围。
局部变量:定义在函数内部,只有这个函数内的代码才可使用该变量
全局变量:定义在所有函数外的,则其作用域是整个PHP文件,减去用户自定义的函数内部。
global关键字:在函数内引用外部定义的变量。例如: ``` $a='全局变量、'; function fun(){ global $a; echo $a; $a="局部变量、"; echo $a; } fun(); echo $a; ``` 最后输出的结果是全局变量、局部变量、局部变量、 这里解释一下由于在函数内使用了global引用了外部定义变量,导致全局变量在fun函数中的值发生了改变,故最后输出的是局部变量的值。

变量的生存期

全局变量的生存期从它被定义那一刻起到整个脚本代码执行结束为止。
局部变量的生存期从它被定义开始到该函数运行结束为止。 若要在函数运行结束后仍保留局部变量的值,可使用静态变量。 例如: ``` function Test() { static $w = 0; //声明静态变量 echo $w; $w++; } Test();Test() ;Test() ;Test() ;Test() ; ``` 运行结果为01234 如果去掉static,则运行结果为00000 可变变量 例如:'$$a',然后$a='b';$b=123;那么$$a=123. 变量的引用赋值:&类似C语言指针的用法 php中除法不是整除的例如5/3=1.66666666667 符号^是按位异或 运算符不等于(!=或者<>) 在php中的三等号需要数值和变量类型都相同才能返回true

数组

php中使用array()函数创建数组

简单形式 
$citys=array( "长沙","衡阳","常德","湘潭");

完整形式 
$citys=array('cs'=>'长沙','hy'=>'衡阳','cd'=>'常德','xt'=>'湘潭');

其中的cs代表索引,长沙为值

PHP数组的特点

数组索引既可以是整数,也可以是字符串 >如果索引值是整数,则称为索引数组 >如果索引值是字符串,则称为关联数组 >如果既有整数又有字符串,则称为混合数组。 >数组长度可以自由变化 >同一数组中各元素的数据类型可以不同 >如果索引是字符串最好使用$city['cs']

foreach

格式: ``` foreach(数组名 as $value) {循环体语句块} foreache(数组名 as $key=>$value) {循环体语句块} ``` ``` $sports=array( "网球","游泳","短跑","柔道"); echo "我校开展的运动项目有:
"; foreach($sports as $key=>$value) echo $key .":". $value . " "; ``` 输出结果为: 我校开展的运动项目有: 0:网球 1:游泳 2:短跑 3:柔道 输出数组元素使用unset()函数,删除后元素的下标不会被新添加的数组元素占用。

操作数组的内置函数

count()函数 返回数组元素中的个数 max(),min(),array\_sum()函数 分别返回最大值元素、最小值元素、所有元素值 array\_count\_values函数 用于统计数组中所有值出现的次数,并将结果返回到另一数组中 PHP的文件包含语句 1. include语句 2. include\_once语句 3. require语句 4. require\_once语句 ## 字符串函数 ## 截取字符串 substr() 替换字符串 str\_replace() strstr() 查找字符串 strpos() strstr() strlen(string) 返回字符串的长度(中文算两个字符) strlen("abc8")返回4 trim(string) 去掉字符串两端的空格

截取字符串函数

substr(string,start,[length]) >从字符串的第start个字符开始取长为length的字符串。如果省略length,表示取到字符串的结尾。如果start为负数表示从末尾开始截取,如果length为负数,则表示取到倒数第length字符。 ``` substr("2010-9-6",5),返回"9-6" substr("2010-9-6",2,4),返回"10-9" substr("2010-9-6",2,-2),返回"10-9" substr("2010-9-6",-3,3) ,返回"9-6" ```

替换字符串函数

str_replace(find, replace, string, [&count]) 替换字符串中的部分字符,将find替换为replace str_replace("0747","\*\*\*\*","13307473541") 返回"133\*\*\*\*3541"

strstr(string,find,replace)
等量替换字符串中的部分字符,将find替换为replace,如果find和replace长度不同,则只替换两者中的较小者
strtr(“Hilla Warld”,”ial”,”eo”)
返回Hello World

strpos(string,find,[start])
用来查找子串
返回子串find在字符串string中第一次出现的位置,如果未找到,则返回false,如果有start参数,表示开始搜索的位置。

类的定义

使用class关键字可定义一个类

构造函数:在创建对象时执行一些初始化的任务,比如对属性赋初值等
__construct()

析构函数会在某个对象的所有引用被删除或者对象被销毁时执行。也就是说,如果定义了析构函数,则对象在销毁前会调用析构函数。
PHP规定析构函数的名称为“__destruct()”,析构函数不能带有任何参数