PHP基础巩固.docx

上传人:b****8 文档编号:9339048 上传时间:2023-02-04 格式:DOCX 页数:41 大小:178.66KB
下载 相关 举报
PHP基础巩固.docx_第1页
第1页 / 共41页
PHP基础巩固.docx_第2页
第2页 / 共41页
PHP基础巩固.docx_第3页
第3页 / 共41页
PHP基础巩固.docx_第4页
第4页 / 共41页
PHP基础巩固.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

PHP基础巩固.docx

《PHP基础巩固.docx》由会员分享,可在线阅读,更多相关《PHP基础巩固.docx(41页珍藏版)》请在冰豆网上搜索。

PHP基础巩固.docx

PHP基础巩固

布尔教育_燕十八_PHP基础巩固.001.变量类型

PHP支持八种原始类型(type)。

四种标量类型:

string(字符串)

integer(整型)

float(浮点型,也作double)

boolean(布尔型)

两种复合类型:

array(数组)

object(对象)

两种特殊类型:

resource(资源)

NULL(空)

布尔教育_燕十八_PHP基础巩固.002.变量检测

isset($var);

isset函数是检测变量是否存在。

若变量不存在则返回FALSE

若变量存在且其值为NULL,也返回FALSE

若变量存在且值不为NULL,则返回TURE

同时检查多个变量时,每个单项都符合上一条要求时才返回TRUE,否则结果为FALSE

//NULL是指没有值,也没有类型

$a=NULL;

/*

//CheckVar

isset检测变量是否存在

*/

$a="b";

if(isset($a)){

 echo"变量存在";

}

 elseecho"变量不存在";

$b="";

if(isset($b)){

 echo"变量b存在";

}

 elseecho"变量不存在";

$c=NULL;

if(isset($c)){

 echo"变量c存在";

}

 elseecho"变量不存在";

布尔教育_燕十八_PHP基础巩固.003.变量类型判断

//gettype()获取变量类型

$a='1';

echogettype($a);

echo"
";

$a=1;

echogettype($a);

echo"
";

$a=false;

echogettype($a);

//判断类型

//is_intis_falseis_array

$a=false;

if(is_false($a)){

 echo"a是false";

}

 elseecho"a不是false";

布尔教育_燕十八_PHP基础巩固.004.打印调试变量

echo字符串

print_r数组

var_dump打印类型及值

****/

//变量打印

$a=1;

echo$a;

$b=array(1,2,3);

print_r($b);

var_dump($b);

$a=false;

var_dump($a);

布尔教育_燕十八_PHP基础巩固.005.变量类型转换

PHP在变量定义中不需要(或不支持)明确的类型定义;变量类型是根据使用该变量的上下文所决定的。

也就是说,如果把一个字符串值赋给变量 $var , $var 就成了一个字符串。

如果又把一个整型值赋给 $var ,那它就成了一个整数。

 

PHP的自动类型转换的一个例子是加法运算符“+”。

如果任何一个操作数是浮点数,则所有的操作数都被当成浮点数,结果也是浮点数。

否则操作数会被解释为整数,结果也是整数。

注意这并没有改变这些操作数本身的类型;改变的仅是这些操作数如何被求值以及表达式本身的类型。

 

php

$foo  =  "0" ;   // $foo 是字符串 (ASCII 48)

$foo  +=  2 ;    // $foo 现在是一个整数 

(2)

$foo  =  $foo  +  1.3 ;   // $foo 现在是一个浮点数 (3.3)

$foo  =  5  +  "10 Little Piggies" ;  // $foo 是整数 (15)

$foo  =  5  +  "10 Small Pigs" ;      // $foo 是整数 (15)

?

>

布尔教育_燕十八_PHP基础巩固.006.传值赋值与引用赋值 

php 

//------------传值赋值(赋值不变)

$a=3;

$b=5;

$b=$a;//把$a所指向的地址里的值复制一份赋给$b地址里

echo$b,"
";//3

//------------引用赋值 (赋值改变,unset()函数无效)

新的变量简单的引用了原始变量,改变新的变量将影响到原始变量使用引用赋值

$a=3;

$b=5;

$b=&$a;//把$a地址赋给$b,这时$b和$a同时指向$a的地址

echo$b,"
";//3

unset($a);//销毁$a的值

echo$b;//3只是销毁了$a的值,但$b的值未销毁,所以$b的值照样存在

布尔教育_燕十八_PHP基础巩固.007.销毁变量

//&$var无效

unset()销毁指定的变量。

unset()在函数中的行为会依赖于想要销毁的变量的类型而有所不同。

如果在函数中unset()一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用unset()之前一样的值。

// 销毁单个变量

unset ( $foo );

// 销毁单个数组元素

unset ( $bar [ 'quux' ]);

// 销毁一个以上的变量

unset( $foo1 ,  $foo2 ,  $foo3 );

布尔教育_燕十八_PHP基础巩固.008.动态变量 

用变量的值作为变量的名字

$a='abc';

$b='a';

所以

$$b='abc';

布尔教育_燕十八_PHP基础巩固.009.算术运算符 

1.算术运算符

除法运算符总是返回浮点数。

只有在下列情况例外:

两个操作数都是整数(或字符串转换成的整数)并且正好能整除,这时它返回一个整数。

取模运算符的操作数在运算之前都会转换成整数(除去小数部分)。

 

取模运算符%的结果和被除数的符号(正负号)相同。

即$a%$b的结果和$a的符号相同。

 

-$a取反$a的负值。

$a+$b加法$a和$b的和。

$a-$b减法$a和$b的差。

$a*$b乘法$a和$b的积。

$a/$b除法$a除以$b的商。

$a%$b取模$a除以$b的余数。

 

2.赋值运算符

3.位运算符

4.比较运算符

5.错误控制运算符

6.执行运算符

7.递增/递减运算符

8.逻辑运算符

9.字符串运算符

10.数组运算符

11.类型运算符

布尔教育_燕十八_PHP基础巩固.010.比较运算符 

//凡是运算必有运算结果

结果是Boolean型只有true和false

$a=$b//赋值

$a==$b//仅比较结果的值

$a===$b//不仅比较结果,还比较结果的类型

布尔教育_燕十八_PHP基础巩固.011.三元运算符 

$a=5;

$b=6;

var_dump(($a>$b)?

$a:

$b);

布尔教育_燕十八_PHP基础巩固.012.逻辑运算符 

$aand$bAnd(逻辑与)TRUE,如果$a和$b都为TRUE。

$aor$bOr(逻辑或)TRUE,如果$a或$b任一为TRUE。

$axor$bXor(逻辑异或)TRUE,如果$a或$b任一为TRUE,但不同时是。

!

$aNot(逻辑非)TRUE,如果$a不为TRUE。

$a&&$bAnd(逻辑与)TRUE,如果$a和$b都为TRUE。

$a||$bOr(逻辑或)TRUE,如果$a或$b任一为TRUE。

布尔教育_燕十八_PHP基础巩固.013.递增递减运算符 

++$a前加$a的值加一,然后返回$a。

$a++后加返回$a,然后将$a的值加一。

--$a前减$a的值减一,然后返回$a。

$a--后减返回$a,然后将$a的值减一。

$b=5; 

$a=$b++; 

$c=$b++; 

var_dump($a,$b,$c);//5,7,6 

$b=5; 

$a=$b--; 

var_dump($a,$b);//5,4 

$b=5; 

$a=++$b; 

var_dump($a,$b);//6,6 

$b=5; 

$a=--$b; 

var_dump($a,$b);//4,4

布尔教育_燕十八_PHP基础巩固.014.字符串运算符

有两个字符串(string)运算符。

第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。

第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数之后。

更多信息见赋值运算符。

 $a="Hello"; 

 $b=$a."World!

";//now$bcontains"HelloWorld!

var_dump($b); 

 $a="Hello"; 

 $b.="World!

";//now$acontains"HelloWorld!

 var_dump($a,$b);

布尔教育_燕十八_PHP基础巩固.015.赋值运算符 

基本的赋值运算符是“=”。

一开始可能会以为它是“等于”,其实不是的。

它实际上意味着把右边表达式的值赋给左边的运算数。

  

布尔教育_燕十八_PHP基础巩固.016.switchcase控制结构 

switchcase适合用在验证多个可能值时使用;

不适合判断范围如:

60-80,;

布尔教育_燕十八_PHP基础巩固.017.while循环 

while语句的含意很简单,它告诉PHP只要while表达式的值为TRUE就重复执行嵌套中的循环语句。

表达式的值在每次开始循环时检查,所以即使这个值在循环语句中改变了,语句也不会停止执行,

直到本次循环结束。

有时候如果while表达式的值一开始就是FALSE ,则循环语句一次都不会执行。

/* example 1 */

$i  =  1 ;

while ( $i  <  10 ) {

    echo  $i ++;   /* the printed value would be

                    $i before the increment

                    (post-increment) */

}

/* example 2 */

$i  =  1 ;

while ( $i  <  10 ):

print  $i ;

     $i ++;

endwhile;

do-while循环和while循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。

总是执行输出第一次结果。

php

$i  =  0 ;

do {

   echo  $i ;//0

} while ( $i  >  0 );

?

>

布尔教育_燕十八_PHP基础巩固.018.for循环 

循环的一般要素:

初始化

(1),判断

(2),执行体(3),修改变量(4)。

/* example 1 */

for ( $i  =  1 ;  $i  <=  10 ;) {

    echo  $i ;

  $i++;

}

/* example 2 */

for ( $i  =  1 ; ;  $i ++) {

    if ( $i  >  10 ) {

        break;

    }

    echo  $i ;

}

/* example 3 */

$i  =  1 ;

for (;;) {

    if ( $i  >  10 ) {

        break;

    }

    echo  $i ;

     $i ++;

}

布尔教育_燕十八_PHP基础巩固.019.break与continue

break结束当前for,foreach,while,do-while或者switch结构的执行。

 

continue跳过

break结束

布尔教育_燕十八_PHP基础巩固.020.经典实例之过桥问题 

一个人身上带有100000块钱过桥,他每次过桥都要缴纳相应的过桥费,

当他身上钱的钱大于50000时,需要扣除5%的过桥费;

当他身上钱少于或者等于50000的时候,需要扣除扣除5000块钱;

请问这个人能过几次桥?

=============for==================

for($i=100000,$cont=0;$i>=5000;){

 if($i>=50000){

 $i*=0.95;

 }else{

 $i-=5000;

 }

 $cont++;

echo"第",$cont,"次过桥,身上剩",$i,"元
";

}

=============while=================

$i=100000;

$cont=0;

while($i>=5000){

 if($i>=50000){

 $i*=0.95;

 $cont++;

 }else{

 $i-=5000;

 $cont++;

 }

 echo"第",$cont,"次过桥,身上剩",$i,"元
";

}

布尔教育_燕十八_PHP基础巩固.021.经典案例之九九乘法表 

//打印九九乘法表

for($i=1;$i<=9;$i++){

 for($j=1;$j<=$i;$j++){

 echo$i,"X",$j,"=",$i*$j," ";

 }

 echo"
";

}

布尔教育_燕十八_PHP基础巩固.022.经典案例之百钱买百鸡问题 

“今鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。

凡百钱买鸡百只,问:

鸡翁、母、雏各几何?

用100文钱买来100只鸡,公鸡5文钱一只,母鸡3文钱一只,小鸡1文钱3只。

问:

在这100只鸡中,公鸡、母鸡、小鸡各是多少只?

 //公鸡最多不超过20只

for($g=1;$g<=20;$g++){ 

//母鸡最多不超过33只

 for($m=1;$m<=33;$m++){

 //小鸡等于总数去除公鸡母鸡数的剩余数

 $x=100-$g-$m; 

//公鸡数+母鸡数+小鸡数=100同时公鸡钱+母鸡钱+小鸡钱=100

 if($g+$m+$x==100&&$g*5+$m*3+$x/3==100){

  echo"公鸡、母鸡、小鸡各是",$g," ",$m," ",$x,"只
";

 }

 }

}

布尔教育_燕十八_PHP基础巩固.023.函数概念 

一段封装好的代码,可以随时调用

//定义函数

functionqiuhe(){

$c=$a+$b;

return$c;

//调用函数

 echoqiuhe(4,6);//10

布尔教育_燕十八_PHP基础巩固.024.函数定义格式 

格式:

function函数名字([参数1],参数2,参数N]){

//执行语句

//return结果

}

命名规则:

对于函数,命名规则和变量一样,但是函数不区分大小写

布尔教育_燕十八_PHP基础巩固.025.函数执行与返回流程 

函数不调用不会输出结果

函数调用时代码的执行权进入函数

当函数所以语句执行完毕,函数返回,交回执行权

或者函数碰到return语句是,函数返回,提交执行权

return可以1个值或者空值,但是不能返回2个以上的值

布尔教育_燕十八_PHP基础巩固.026.函数传参方式 

functiont($a){

  $a+=1;

}

$b=3;

t($b);//传参$b,相当于$b的值,赋值给$a,而$a是函数内部的值,怎么变,和外界无关

echo$b;

functiont2(&$a){//不建议使用引用传参,外部函数影响函数内部的值,破坏函数独立封装的特性。

  $a+=1;

  return$a;

}

$b=5;

echot2($b);//6

echo$b;//6

布尔教育_燕十八_PHP基础巩固.027.函数作用域

 functiont($a){

  $a+=1;

}

$b=3;

t($b);//传参$b,相当于$b的值,赋值给$a,而$a是函数内部的值,怎么变,和外界无关

echo$b;

//一下两种情况,外部变量可以直接影响函数内部值,

//但是不建议使用,破坏函数的封装性!

//声明全局变量global

functiont2(){

  global$a;

  echo$a;

  }

echo$a;

//超级全局变量,在页面任何部分,包括函数,方法等,都可以直接访问。

functiont3(){

  print_r($_GET);

}

t3();

布尔教育_燕十八_PHP基础巩固.028.动态调用函数 

//可以用变量的值当作函数名,并调用函数

functionwel(){

  echo'welcome';

}

$hear='wel';

$hear();//$hear的值是wel,所以调用执行wel();

布尔教育_燕十八_PHP基础巩固.029.时间戳函数 

//时间戳是指1970010100:

00:

00到现在这一瞬间已经经过的秒数

时间戳存储时间,方便调用时格式化时间

echotime();//返回秒数

print_r(microtime());//返回微秒和秒数

print_r(microtime(true));//返回秒数.微秒

布尔教育_燕十八_PHP基础巩固.030.时间戳格式化 

$date();格式化一个本地时间/日期 

修改服务器默认时区为东八区的方法:

打开php.ixi修改;date.timezone=UTC为date.timezone=PRC

常用格式参数:

d日[01],j日[1],m月[05],n月[5],M三位数英文缩写月份[May],F完整英文月份[December],

N星期[7],

Y年[1990],y二位数的年[90],h十二小时制度的小时[01],H二十四小时制度的小时[13],

g无前导的十二小时制小时[1],G无前导的二十四小时制小时[13],i分钟[59],秒钟[59],

t月份应有的天数[31],L是否为闰年,a/A小写/大写的上午下午,

z年份中的第几天[200],W年份中的第几周,每周从星期一开始[41]

$time=time();

echo$date('Y-m-d星期Nh:

i:

s',$time);

gmdate();//无视时区返回格林威治时间戳

布尔教育_燕十八_PHP基础巩固.031.日期解析函数 

mktime(h,i,s,m,d,y);//取得一个日期的Unix时间戳

echodate("M-d-Y",mktime(0,0,0,1,1,1998));//Jan-01-1998

echodate("M-d-Y",mktime(0,0,0,1,1,98));//Jan-01-1998

strtootime(string$time)//将任何英文文本的日期时间描述解析为Unix时间戳

echostrtotime("now"),"\n";

echostrtotime("10September2000"),"\n";

echostrtotime("+1day"),"\n";

echostrtotime("+1week"),"\n";

echostrtotime("+1week2days4hours2seconds"),"\n";

echostrtotime("nextThursday"),"\n";

echostrtotime("lastMonday"),"\n";  

checkdate(m,d,Y);//验证日期有效性

var_dump(checkdate(12,31,2000));//bool(true)

var_dump(checkdate(2,29,2001));//bool(false)

作业

布尔教育_燕十八_PHP基础巩固.032.字符串定义方式 

//定义字符串

$str1="helloworld";

//定义一段字符内容HTML可以说容易字符,但是起止符必须一致;

$str2=<<

hello

world

HTML;

布尔教育_燕十八_PHP基础巩固.033.单双引号区别

转义

单引号:

$str1='\'\\\n\t\v\$';//仅能转义少数符号

echo$str1;

双引号:

Sstr2="\"\\\n\t\v\$";//能转义所有符号

echo$str2;

变量解析

$str3="love";

echo"I$str3you";//双引号能解析引号内部的变量

echo'I$str3you';//单引号无法解析引号内变量

速度

单引号比双引号快,因为单引号转义的符号少以及不需要解析内部变量

布尔教育_燕十八_PHP基础巩固.034.字符串常用函数

1、字符串长度函数

strlen:

$str  =  'abcdef' ;

echo  strlen ( $str );  // 6

$str  =  ' ab cd ' ;

echo  strlen ( $str );  // 7空格算一个字符

$str  =  '中国' ;

echo  strlen ( $str );//6 UTF8编码里,中文占3个字节,GBK编码里占2字节

mb_strlen:

按字符数计算

$str ="中国"; 

echo mb_strlen ( $str,'utf8');//3空格算一个字符 

echo mb_strlen ( $str,'gbk');//2空格算一个字符

2、查找字符串位置函数

strpos:

$mystring  =  'abc' ;

$findme    =  'a' ;

$pos  =  strpos ( $mystring ,  $findme );

// 使用 !

== 操作符。

使用 !

= 不能像我们期待的那样工作,

// 因为 'a' 的位置是 0。

语句 (0 !

= false) 的结果是 false。

if ( $pos  !

==  false ) {

     echo  "The string ' $findme ' was found in the string ' $mystring '" ;

         echo  "

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1