php基础知识

1. php运行过程时序图

目录 htdocs 目录下一个文件夹,该文件夹中包含各种web资源(html/php/css/js/图片/视频...)

    apachephp在网络中的位置

 

 使用uml图,描述了请求php文件的整个流程

.

2  php的基本语法介绍

2.1     php 可以和html代码混合但是一定要使用

<?php

      //php代码

?>

可以在php中嵌入html代码

<?php

  

echo"hello,world";

//写一部分html代码

?>

<h1>hello</h1>

<?php

?>

2.     还可以使用如下方法嵌入 php 代码(脚本)

<scriptlanguage="php">

     

      echo "<br/>测试一下吧!";

</script>

这个推荐

3.     如果只是为了显示一个变量的值

<?=变量?>

举例

<?=$i?>

4.     php代码注释的方法有

4.1       注释多行

/*

  

*/

/*echo"<br/>aaaa";

      echo "<br/>aaaa";

      echo "<br/>aaaa";

      echo "<br/>aaaa";

      echo "<br/>aaaa"; */

4.2       单行注释

//

 php的基本语法加强

Parse : 解析

error 错误

syntax : 语法

   php 可以和html 混合使用

   php 的变量的定义使用

//php中,定义一个变量要以$符号打头

$a=890;//我定义了一个变量,该变量名叫$a , 然后给该变量赋了一个值890

   php 的变量的数据类型,是变化的,php变量的数据类型是由运行时的上下文决定

   php区分大小写

$i =89;

$I=90;

$abc=90;

$Abc=900;

   php 的变量的名称,应当以字母或者下划线开头,不要用数字开头,也不要用特殊字符开头.

$3abc=89;

     php 数据类型有哪些?

有三大类

1.     基本数据类型

1.1   整型

1.2   小数型(浮动数)包含单精度和双精度

1.3   布尔类型 (表示真,和)

1.4   字符串

2.     复合数据类型

2.1   数组(array

2.2   对象 (object)

3.     特殊数据类型

3.1   null

3.2   资源类型(resource)

整型细节说明

基本数据类型的入门案例:

整型

      整数类型可以表示一个整数,比如:

      $ts=1;  $ts=-12;

布尔类型

      布尔型可以表示真或者假,比如:

      $ts=true;  $ts=false;

小数类型

      小数类型可以表示一个小数(float,double)

      $ts=1.12 $ts=3.1415926

字符串类型

      字符串类型可以表示一个字符串

      $ts=“我是一个好人 hello”

基本概念:

何为定义一个变量

<?php

      $a=90; //相当于我们定义了一个变量 $a,并赋值90

?>

什么叫给变量赋值

<?php

      $a=78;

      $a=8;  //表示用新的值替代 78

      $a=”hello”; //表示$a 的类型变化.

?>

     整型的细节讨论

php中一个整型数据可以用十进制,也可以用八进制和十六进制

比如

$a =0123; // 八进制数(是以0开头)

$a =0x1A; // 十六进制数

0123 =3*80次方 + 2*81次方+ 1*8的二次方

=3*1+2*8+1*64=83

0x1A=A*160次方 +1*16的一次方=10+16=26

$a=123=3*100次方+2*101此方+1*10的二次方=3+20+100=123

php的整数都是有符号数.

通过该图,我们可以看出,php的整数的二进制的最高位表示符号

通过  PHP_INT_SIZE

可以显示我们自己的机器,一个整数用几个字节表示

echoPHP_INT_SIZE;

通过PHP_INT_MAX 可以显示int 最大的数有多少

echoPHP_INT_MAX;

请问? 为什么  PHP_INT_MAX  2147483647

我们一起推一下

请问? php int 型,负数最大表示多少?

负数和正数一样大

231次方减一

如果一个整数的范围超过了最大范围,则自动变成float

布尔细节浮点数细节字符串细节算术运算符①\

学生的问题?

$a=2; 问在内存中 2是怎样存在的

00000000 00000000 00000000 00000010 -> 0*20次方+1*2的一次方+..0=0+2=2

$a=-2 问在内存中形式

      布尔类型

简单的说布尔类型就两个值 true, 一个false;

举例:

//布尔类型

$a=true;

$b=false;

布尔 FALSE 自身

整型 0 ()

浮点型 0.0 ()

字符串, 以及字符串"0"

不包括任何元素的数组
不包括任何成员变量的对象(仅PHP 4.0 适用)

特殊类型NULL (包括尚未设定的变量)

$conn=mysql_connect(“localhost”,”root”,”root”);

if($conn){

       echo ‘ok’;

}else{

       echo ‘没有ok’;

}

浮点数的细节

1.浮点数(也叫双精度数或实数)

2.浮点数的字长和平台相关,通常最大值是 1.8e308 并具有 14 位十进制数字的精度 (这个限制很重要)

精度要从左边开始的第一个非0的数字计算.

      字符串的细节

$a=”hello”;

请问 $a 占用了多个是字节 5个字节

一个字符串类型可以表示多大的串?

理论上,我们对字符串大小没有限制,即只有不超过内存就可.

我们定义字符串的时候,可以用单引号,也可以使用双引号

区别如下:

$i=90;

       $user1="hello$i";

       $user2='hello$i';

       echo '<br/>user1='.$user1;

       echo '<br/>user2='.$user2;

从上面案例我们看出, 当一个变量包含在 “”号中时,会输出它的值,而包含在’’ 中是输出其字符本身.

案例2

       如果字符串是包围在单引号(‘), 除了来处理

\” 时,会输出 \” 外,其它规则都一样

      php数据类型的自动转换

      php的表达式

所谓表达式,就是任何有值的东西.

$a=90+89;

      php的算术运算符

+ -* / %

算术运算符②比较运算符逻辑运算符

php的算术运算符

+ -* / %

$a=90;

    $b=7;

    if($a%$b==0){

           echo '能整除';

    }else{

           echo '不能整除!';

    }

++ 快速入门:

$a=90;

      $a++; //等价于$a=$a+1;

      echo $a;

      $b=89;

      $b--; //等价于$b=$b-1;

      echo '<br/>'.$b;

细节我们的++分为前++ ++   , --也分为--  - -

$a=56;

$b=$a++;

echo$b;

echo$a;

对上面代码的分析如下:

$a=56;

      //$b=$a++; //等价于  $b=$a;$a=$a+1;   

      $b=++$a; //等价于$a=$a+1; $b=$a;

     

      echo $b."||"; //-->$b 57

      echo $a; //-->$a 57

左加

+=

左减

-=

左乘

*=

左除

/=

左取模

%=

$a=90;

$a-=90;//$a=$a-90;

echo$a;

     比较运算符

 

案例:

$a=2;

$b=2.0

//只有值相等就为true

if($a==$b){

      echo ‘$a==$b’;

}

//全等,要求$a $b 值和类型要相等

if($a== =$b){

}

!=  != = 说明

//只有值不相等,则为true

      if($a!=$b){

             echo '$a!=$b';

      }

      //只要值不相等,或者类型不相等,则为true

      if($a!==$b){

             echo '$a!==$b';

      }

 

请编写一个程序,该程序可以接收两个数(可以是整数,也可是小

),并判断两个数是大于?小于?还是等于?

对应的案例:

<?php

$a=123;

      $b=90;

     

      if($a>$b){

             echo '$a>$b';

      }

      if($a<$b)

      {

             echo '$a<$b';

      }

      if($a==$b){

             echo '$a==$b';

      }

?>

     逻辑运算符

要求大家掌握的知识点有:

搞清每个逻辑运算的规则

案例

$a=10;$b=7;

  if($a++>8 || $b++>7){

      echo 'ok!';

  }

  echo 'a='.$a.'b='.$b;

//把结果填写

$a=10;$b=7;

  if($a++>10 && $b++>7){

      echo 'ok!';

  }

  echo 'a='.$a.'b='.$b;  

$a=10;$b=7;

  if($a++>18 && $b++>7){

      echo 'ok!';

  }

  echo 'a='.$a.'b='.$b;

面试题:  and  &&都表示逻辑与,他们的区别在什么地方

主要体现在优先级上面

and 的优先级

and<= <&&

or <= < ||

配合案例:

$e =false || true;

$f =false or true;

var_dump($e,$f);

$e true

$f false;.....

 

php基本语法-三元运算符

基本语法

表达式1 ? 表达式2 : 表达式3

规则:

如果表达式1 的运算结果是 true, 则取表达式2 的值,否则,取表达式3的值.

举例

<?php

       $a=90;

       $b=180;

       $c=$a>$b?(12-10):"hello,world";

       echo 'c=='.$c;

?>

      php 的字符串运算符

案例:

$a="hello,world";

       $b=123;

       $c=$b.$a; //$a 具体表示内容和 $b 表示内容拼接

       echo $c;

从上面案例我们看出,当两个变量(基本数据类型) . 连接的时候,就表示把他们的内容拼接

      类型运算符(了解)

基本语法是: instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例,通常在面向对象开发中可能用的.

class Dog{}

       class Cat{}

       //创建一个对象

       $cat1=new Cat;

       //var_dump($cat1 instanceofDog);

       //在实际开发中,我们可能需要去判断某个变量是否是某个类型

       if($cat1 instanceof Cat){

             echo '$cat1 是一只猫';

       }

      运算符优先级的说明:

//****运算优先级*****

如果将来你们有一个表达式很复杂,建议使用() 来指定其运算优先级

       $a=3;

       $b=++$a*3;

       echo $b;

php程序的三大流程控制

   顺序控制(从上到下,从左到右)

$a=7;

               echo “a=”.a;

               echo “hello!”;
             $a++;

               echo “a=”.a;

               echo “O(_)O”;

               $a++;

               echo “a=”+a;  

所谓顺序控制流程,就是不加控制的流程,默认情况,会按照,顺序来执行你编写的代码

   分支控制

一个简单的定义: 有选择的来执行我们的代码.

分为 1. 单分支 2. 双分支 3 多分支

1.     单分支的基本语法结构

if(条件表达式){

      语句;

      //...

  //....

}

这里我们,这里的条件表达式不管多复杂,最总运算的结果就是 true 或者 false;

快速入门:

编写一个程序,可以输入人的年龄,如果该同志

的年龄大于18,则输出你年龄大于18,要对

自己的行为负责!”

$age=7;

      if($age>18){

             echo '你的年龄大于18';

      }

2.     双分支

基本语法结构

if(条件表达式){

  //n多语句;

}else{

      //n多语句;

}

编写一个程序,可以输入人的年龄,如果该同志

               的年龄大于18,则输出你年龄大于18,要对

               自己的行为负责!”。否则 ,输出你的年龄不大

               这次放过你了.”

代码:

$age=4;

      if($age>18){

             echo '你的年龄大于18';

      }else{

             echo '你的年龄小于18';

      }

      echo '<br/>程序结束!';

3.     多重分支

基本语法结构是

if(条件表达式){

//n多语句

}else if(条件表达式){

//n 多语句

}else if(条件表示式){

//.

}//这里可能还有更多的else if

else{

}

对上面的结构请注意:

(1)  else if 可以有一个,也可以有多个

(2)  else 可以没有

快速入门案例:

编写一个程序,可以输入人的年龄,如果该同志

               的年龄大于18,则输出你年龄大于18,要对

               自己的行为负责,送入监狱。如果该同志的年

               龄大于10岁并且小于等于18,则输出你的年龄

               也不小了,把你送少管所.”。其它情况,则输出

               “小孩子,下次注意

代码如下:

$age=34;1

if($age>182){

  echo'你要被送入监狱';3

}elseif($age>10 4&& $age<=185){

  echo'送入少管所';6

}else{

  echo'下次注意';7

}

echo"over";8

流程分析图:

 switch分支语句

基本语法结构

switch(表达式){

case 常量1:

//n多语句;

break;

case 常量2:

//n多语句

break;

defual:

  //n多语句;

      break;

}

请注意:

1.     case 语句有一到多

2.     defaul 语句可以没有(根据自己代码的业务逻辑)

3.     通常,在case 语句后,要带break ,表示退出switch语句

4.     常量的类型 (int, float, 字符串, 布尔型)

快速入门案例:

请编写一个程序,该程序

可以接收一个字符,比如

:a,b,c,d,e,f,g  

a表示星期一,b表示星期

…  根据用户的输入显

示相依的信息.要求使用

switch 语句完成

$myChar="b";

      switch($myChar){

       

             case "a":

                   echo '今天星期一,猴子穿新衣';

                   break;

             case "b":

                   echo '今天星期二,猴子当小二';

                   break;

             case "c":

                   echo '今天星期三,猴子爬雪山';

                   break;

             default:

                   echo '没有匹配的日期';

     

      }

      echo 'okokook';

一个案例:

$i=11;

      switch ($i){

     

      case 10:

      echo '10';

     

      case 1.3:

      echo '11';

      break;

     

      default:

      echo 'hello';

      //break;

      case 11:

      echo '12';

      break;

     

      }

该案例得出一个结论:

//最终的结论是:

首先按照case顺序进行配置,如果一个都没有匹配到,则执行

      //default语句的内容,直到遇到break,则退出switch

42讲 循环控制①(for)

 

学生的问题: 老师,说一下if语句和switch的区别,及应用场景

回答:从我们学习if  switch 分支看,if对某个范围的判断,而switch是对一个点的判断, 所以我们可以这样去选择他们:

应用场景: 当我们的分支就是几个点的时候(比如判断坦克的方向),就应当使用swtich,如果你的分支是几个区域(范围)的判断,则考虑使用if

   循环控制流程

首先说 for 循环控制

基本语法结构

for(循环初值;循环的条件;步长){

     

      //n多语句;

}

为什么需要循环控制 ?

问题请输出9000000句,你好,北京

这样一问题:怎样让我们的某段代码,循环的执行

分析图

for($i=0;$i<2;$i++){

             echo '<br/>你好,北京';

      }

      echo "over";

内存图:

43讲 循环控制②(while dowhile) 打印金字塔案例

更新时间:201211201154来源:

   while循环

基本语法结构是

while(循环条件){

     

//循环体 ,语句

}

案例: 使用while来打印 10你好北京

代码:

//*****while循环*****

      $i=0;//$i循环控制变量

      while($i<10){

     

             echo '<br/>你好北京'.$i;

             //这里我们对循环控制变量,自增.

             $i++;

      }

流程分析图:

 do..while循环控制

基本语法结构

do{

      //循环体

}while(循环条件);

快速入门: 循环的显示 10句,你好北京”;

$i=0;1//循环控制变量

do{

  echo'<br/>dowhile你好北京'.$i;2

  //对循环控制变量修改

  $i++;3//这里有程序员自己控制步长.

}while($i<104);

执行的流程图:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值