图片 5

其次章PHP基本语法

By admin in web前端 on 2019年5月6日

图片 1

博文结构:

目标

  1. 常用数据类型
  2. 基本语法
  3. 变量的定义与赋值
  4. 数据类型与转换
  5. 逻辑控制语句
  6. 条件语句
  7. 循环语句
  8. 函数定义

图片 2

基本语法

图片 3

2.1 PHP语法风格

变量

变量名以字母或下划线(”_”)开头
变量可以包含数字、从 A 至 Z 的大小写字母
JavaScript 区分大小写

2.1.1 PHP标记

变量的声明和赋值

定义变量:var name;
赋值:name = dashucoding;

“var”为声明变量的关键字,”name”为变量名

同时声明和赋值变量

var age = 12;

声明多个变量

var a,b,c = 12;

  PHP有四种风格的标记,具体如表2-1所示:

常量

  • 整型
  • 浮点型
  • 字符串型

  表2-1 PHP开始和结束标记

数据类型

弱类型,区分大小写

  1. 数值型
    整型、浮点型
  2. 字符串型
    单引号或双引号引起来
  3. 布尔型
    true, false
  4. Null、undefined

标记类型

开始标记

结束标记

示例

说明

标准标记

<?php

?>

<?php echo “Hello”; ?>

服务器不禁用这种标记,兼容性、可移植性、可复用性好

短标记

<?

?>

<? echo “Hello”; ?>

必须在配置文件php.ini中启用short_open_tag选项

ASP式标记

<%

%>

<% echo “Hello”; %>

必须在配置文件php.ini中启用asp_tags选项

Script标记

<script language=”php”>

</script>

<script language=”php”>echo “Hello”; </script>

只需了解,PHP不推荐这种标记

运算符

  1. 算术运算符
    +、-、 * 、 / 、%、++、–
  2. 比较运算符
    ==、!=、>、>=、<、<=
  3. 逻辑运算符
    &&、||、!
  4. 条件运算符
    ?:

  在上述四种标记中,只有标准标记和Script标记能保证对任何配置都有效,而段标记和ASP式标记只能在php.ini中显式的启用。

类型转换

parseInt (String)
parseFloat(String)

  注意:

条件语句

if条件语句
switch多分支语句

if(条件){
   //JavaScript代码;
}else{
  //JavaScript代码;
}

switch (表达式){         
 case 常量1 : 
   JavaScript语句1;
  break;
 case 常量2 : 
  JavaScript语句2;
  break;
  ...
 default : 
   JavaScript语句3;    
}
(1)若脚本中包含XML语句,避免使用段标记,因为“<?”是XML解析器的一个处理指令。
(2)PHP和HTML代码可以进行混合编程。  <html>            <body>                        <p>Hello HTML</p>                        <p><?php  echo "Hello,PHP";  ?></p>            </body>  </html>
 更常见的用法:
 <?php if($age>18): ?>
    <p>成年人</p>
 <?php else: ?>
    <p>小朋友</p>
 <?php endif ?>
 (3)浏览器不识别PHP代码,PHP必须在服务器中执行,双击打开PHP文件是达不到效果的。

循环语句

  • for语句
  • while语句
  • for…in语句
  • 中断循环语句

for(初始化;  条件;  增量){
    语句;
}

while(条件){                                  
    语句;             
}

for(变量  in  对象){
    语句;
}

2.1.2 PHP注释

函数

定义:类似于Java中的方法,是执行特定任务的语句块。

  PHP支持C、C++、Shell三种风格的注释。

注释

  • 单行注释以 // 开始
  • 多行注释以 /* 开始,以 */ 结束

  ①C++风格注释

要求

  • 语法规则
  • 变量声明
  • 数据类型
  • 各种运算符
  • 函数定义

  <?php echo “Hello,PHP”; //输出一句话——行注释 ?>

技能

(1)变量定义
(2)if条件语句应用
(3)for循环的应用
(4)掌握数据的类型转换
(5)学会使用数值判断函数

  ②C风格多行注释

代码

<!DOCTYPE html>
<html>
<head>
    <title>dashucoding</title>
</head>
<body>
    <script type="text/javascript">
        var row = parseInt(prompt("请输入打印的行数:"));
         if(row<=10){
            for(var i = 0;i<row;i++){
                for(var j = 0;j<row;j++){
                    document.write("#");
                }
                document.write("<br/>");
            }
         }else {
            document.write("最多输入10!请重新输入!");
        }
    </script>
</body>
</html>

  <?php /* echo
“Hello,PHP”; $c=10; 块注释 */ ?>

结语

小礼物走一走 or 点赞
图片 4

  ③Shell风格注释“#”

  <?php echo “Hello,PHP”; #输出一句话——行注释 ?>

2.2 PHP标识符与关键字

2.2.1 标识符

  标识符:变量名、函数名、类名等。

  定义标识符规则:

  ①标识符可以是任意长度,只能由字母、数字、下划线组成;

  ②标识符不能以数字开头;

  ③标识符不能包含空格;

  ④如果标识符由多个单词组成,建议使用下换线分割;

  ⑤标识符区分大小写,不过函数名称例外,不区分大小写;

2.2.2 关键字

  关键字是编程语言里事先定义好并赋予特殊含义的单词,也称保留字。

2.3 PHP常量

2.3.1 常量的定义

  脚本执行周期内,值不会发生变化的量,称为常量。相同的值,定义为常量,可以节省存储空间,如运行模式常量,版本常量,路径常量等。

  ①语法1

  bool define(常量名,常量值,$case_insensitive=false)

  上述声明中,常量名、常量值是必须的,参数$case_insensitive是可选的,用于指定常量名称是否对大小写敏感,如果$case_insensitive=true,表示在调用该常量时,常量名对大小写不敏感,否则表示常量名对大小写敏感。默认情况下$case_insensitive=false。

  ②语法2

  const 常量名=常量值

  上述声明中,与define定义的常量一样。

  注意:  

/*     ①使用const方式定义的常量的缺点:低版本不支持;     ②不能在函数区、流程控制中定义常量;               ③按照开发惯例,常量名推荐全部字母大写     ④常量名前面尽量不要加“$”              下面通过示例演示常量的定义*/<?php    //定义常量    define('VERSION',"2.0.0");    //打印常量    echo VERSION;?>

2.3.2 预定义常量

  PHP提供了很多预定义的常量,用以获取PHP中的信息,不允许开发人员随意修改。如表2-2所示:

表2-2 PHP中预定义常量的名称及其作用

常量名

功能描述

__FILE__

默认常量,PHP程序文件名

__LINE__

默认常量,PHP程序中当前行号

PHP_VERSION

内建常量,PHP程序的版本

PHP_OS

内建常量,执行PHP解析器的操作系统的名称

TRUE

该常量是一个真值(true)

FALSE

该常量是一个假值(false)

NULL

一个null值

E_ERROR

该常量指到最近的错误处

E_WARNING

该常量指到最近的警告处

E_PARSE

该常量指到解析语法有潜在问题处

E_NOTICE

该常量为发生不寻常,但不一定是错误处

  示例代码如下:

<?php    //获取当前文件路径    echo "当前文件路径是:" . __FILE__;    //获取当前php的版本号    echo "当前PHP的版本是" . PHP_VERSION;    //获取当前操作系统    echo "当前的操作系统是:" . PHP_OS;?>

2.4 PHP变量

2.4.1 变量的定义

  在PHP中,变量是用一个“$”符号和后面的变量名来声明表示,变量名同样区分大小写,命名规则与标识符相同。同时,因为PHP一种弱语言,不需要显式声明,变量的声明和赋值是同时进行的,即直接将一个值通过“=”赋给变量。

$name="欧阳华夏";$age=28;$is_Single=true;$Info=["欧阳华夏",28,true];

  注意:

/*变量默认是传值赋值,即将A变量的值赋给B变量时候,整个A的值被赋值到B;变量还有一种赋值方式是引用赋值,表示B变量引用了A变量,如果一个变量的值发生改变,另外一个变量的值随之发生变化。想要实现变量的引用赋值,需要将“&”符号加到要赋值的变量前。*/<?php    $text="Hello";    $new_text=&$text;?>

  变量的读取:

  echo的作用是向页面输入字符串

  var_dump()输出复杂类型

  print_r()输出复杂类型

2.4.2 PHP的数据类型

  PHP数据类型共八种,如图2-1所示。标量类型只能存储一个数据,符合类型可以存储一组数据。       
                                     图片 5

图2-1 八种数据类型

  1、boolen布尔型

  不仅true/false可以表示boolen值,其他类型的数据也可以表示boolen值。例如:0和非0

  2、integer整型

  可以用十进制、十六进制、八进制或者二进制指定,前面加上“+”和“-”表示正数和负数。

  整型最大值:PHP_INT_MAX

  3、float浮点型

  不能比较两个浮点数是否相等。

  4、string字符串型

  字符串的定义双引号、单引号都可以。但是二者存在区别。

  ①包含在双引号的字符串会被解析,包含在单引号的字符串不会解析,下面示例对这句话进行说明:

<?php    $a=9;    $char1="hello$a";    $char2='hello$a';    echo "char1的输出结果是:" . $char1;  //char1的输出结果是:hello9----$a被解析    echo "<br/>";    echo "char2的输出结果是:" . $char2;     //char2的输出结果是:hello$a---$a未被解析?>

  ②对待转义字符不同

  • 单引号字符串
    • 不支持特殊的转义符号,例如\n
    • 如果要表示一个单引号字符内容,可以通过\’表达
    • 如果要表示一个反斜线字符内容,可以通过\\表达
  • 双引号字符串
    • 支持转义字符

2.4.3 检测变量的数据类型

  变量的数据类型在赋值时候确定,在PHP中提供了一组is_*()函数,括号中参数为要检测的变量,如果检测的变量符号则返回true,否则返回false。

 表2-3 检测数据类型的相关函数

函数名称

功能描述

函数名称

功能描述

Is_bool(PHP变量)

检测变量是否属于布尔类型

Is_array(PHP变量)

检测变量是否属于数组

Is_string(PHP变量)

检测变量是否属于字符串类型

Is_response(PHP变量)

检测变量是否属于资源

Is_integer(PHP变量)

检测变量是否属于整型

Is_numeric(PHP变量)

检测变量是否属于数组或者数字组成的字符串

Is_null(PHP变量)

检测变量是否属于空值

Is_object(PHP变量)

检测变量是否属于对象类型

Is_float(PHP变量)

检测变量是否属于浮点类型

  对null值的检测
  为null的几种情况:①变量未赋值;②变量被删除;③变量被赋null;

  empty()判断变量是否为空

  PHP中认为变量的值为:“”,0,“0”,[],null,false时,变量虽然定义了,但无实际意义,为空。

  isset()变量未设置或者设置为NULL时,返回false,其余返回true。变量为空字符串或者0时,此时变量有具体类型,表示已经设置了。

2.5 变量类型的转换

2.5.1 自动类型转换

  在PHP中,最常见的自动类型转换情况有三种:转为布尔、转为数值、转为字符串;

  1、转为布尔型

  转为false的情况:

  ①整型值:0

  ②浮点型值:0.0

  ③空字符串:”“

  ④字符串:”0“

  ⑤空数组:[]

  ⑥不包括任何成员变量的对象

  ⑦NULL

  除此之外,其他值会被转为true。

  2、转为数值型

  ①纯数字组成的字符串转为相应的数字:”123456“—–>123456;

  ②可以转换为浮点型的数字转化为相应的浮点数:”123.456“—–>123.456;

  ③以数字开头的字符串转为对应的数字:”123456欧阳华厦“—–>123456;

  ④不以数字开头的字符串,包括”true“,转为0:”欧阳华厦123456“—–>0;

  ⑤布尔类型值:true—>1;false—>0;

  自动转换不改变原始变量的数据类型,仅改变参与运算的数据的类型。

  3、转为字符串

  ①bool类型转换成字符串:true—>”1″ false—->”0″;

  ②整型和浮点型转换为字符串:把数字的字面样式转换为string形式。

2.5.2 强制类型转换

  PHP中的强制类型转换非常简单,只需要在变量前加一个小括号,并把目标类型填写在括号中实现。表2-4列举了强制转换的类型。

  表2.4 强制转换类型

函数名称

功能描述

函数名称

功能描述

(boolen)

强转为布尔型

强转为浮点型

强转为字符串型

强转为数组

强转为整型

强转为对象

 

 2.6 PHP运算符

2.6.1 算数运算符

   见表2-5:

  表2-5 算数运算符

运算符

运算

范例

结果

+

正号

+3

3

负号

-2

-2

+

5+5

10

6-4

2

*

3*4

12

/

5/5

1

%

取模

7%5

2

  有浮点数参与运算的时候,计算结果的数据类型总是浮点型;当整数与整数运算的结果是小数时,其数据类型也是浮点型。

  在进行取模运算的时候,运算结果的正负取决于被模数的符号,与模数的符号无关。如%3=-2,而5%=2.

2.6.2 赋值运算符

  见表2-6:

  表2-6 赋值运算符

运算符

运算

范例

结果

=

赋值

$a=3;$b=2;

$a=3;$b=2;

+=

加等于

$a=3;$b=2;$a+=$b;

$a=5;$b=2;

-=

减等于

$a=3;$b=2;$a-=$b;

$a=1;$b=2;

*=

乘等于

$a=3;$b=2;$a*=$b;

$a=6;$b=2;

/=

除等于

$a=3;$b=2;$a/=$b;

$a=1.5;$b=2;

%=

模等于

$a=3;$b=2;$a%=$b;

$a=1;$b=2;

.=

连接等于

$a=’abc’;$a.=’def’;

$a=’abcdef’;

  赋值运算符的作用将右侧表达式结果赋值给左侧变量;

  ①在PHP语言中可以通过一条赋值语句对多个变量进行赋值;$a=$b=$c=10;

  ②在表2-7中,除了“=”,其余都是特殊的赋值运算符;

  ③“.=”表示对两个字符串进行连接操作,生成一个新的字符串并赋值给变量,它又被称为字符串运算符;

2.6.3 递增递减运算符

  见表2-7:

  表2-7 递增递减运算符

运算符

运算

范例

结果

++

自增

$a=2;$b=++$a;

$a=3;$b=3;

自减

$a=2;$b=–$a;

$a=1;$b=1;

++

自增

$a=2;$b=$a++;

$a=3;$b=2;

自减

$a=2;$b=$a–;

$a=1;$b=2;

  递增递减字符: 

<?php    $x='a';    echo --$x . "<br/>";    //输出为a    echo ++$x . "<br/>";    //输出为b    $x='z';    echo ++$x . "<br/>";    //输出为aa    $x='Z';    echo ++$x . "<br/>";    //输出为AA    $x='abcd';    echo ++$x . "<br/>";    //输出为abce?>

  ①在PHP语言中,只支持纯字母的递增运算;在PHP中对字符进行递减操作时,该操作无效,且操作数的值不变。

  ②当对字符z和Z进行递增操作时,字符会向前进一位,变成aa后者AA;

  ③对多个字母组成的字符串进行递增操作时,会针对字符串末尾的单个字符进行递增操作。

  递增递减布尔值或者NULL:

  ①当操作数是布尔类型时,递增递减操作对其值不产生影响;

  ②当操作数为null时,递增的结果是1,递减不受印象。

2.6.4 比较运算符

  见表2-8:

   表2-8 比较运算符

运算符

运算

范例

结果

==

等于

$x ==4;

false

!=

不等于

$x!=4;

true

<>

不等于

$x<>4;

true

===

恒等

$x===5;

true

!==

不恒等

$x!==’5’;

true

>

大于

$x>5;

false

>=

大于或者等于

$x>=5;

true

<

小于

$x<5;

false

<=

小于或者等于

$x<=5;

true

  ①“===”和“!==”比较少见,当$x===$y为true,表示x,y不止数值相等,二者类型也相等,当$x!==$y为true时,要么数值不相等,要么数据类型不相等;

  ②在程序中,如果参与比较运算的操作数中含数字类型的数据时,则在比较的过程中,会将所有的操作数转为数值,然后按照数值进行比较;

2.6.5 逻辑运算符

  见表2-9:

  表2-9 逻辑运算符

  

运算符

运算

范例

结果

&&

$a && $b;

$a和$b都为true,结果为true,否则为false

||

$a || $b;

$a和$b中至少又一个为true,结果为true,否则为false

!

! $a;

若$a为false,结果为true,否则相反

xor

异或

$a xor $b;

$a和$b的值一个为true,一个为false时,结果为true,否则为false

and

$a and $b;

与 &&相同,但优先级较低

or

$a or $b;

与||相同,但优先级较低

 

 2.7 流程控制语句

2.7.1 选择控制语句

  ①if

  ②if……else

  ③if……elseif……else

  ④switch……case

  注意:

/*①if语句中只包含一条语句时,它的大括号是可以省略的。②使用switch语句过的过程中,如果多个case条件后面的执行语句是一样的,       则该执行语句只需书写一次即可。③在PHP中,switch语句中的break也可以使用continue代替,作用基本相同。④在第一个case匹配成功后,没有碰到break语句,会不进行匹配直接执行其后所有case中的语句段,直到switch语句的最后一行或者碰到break语句。*/

2.7.2 循环语句结构

  ①while

  ②do……while

  ③for

  ④foreach

2.7.3 跳转语句

  跳转语句用于实现循环执行过程中程序流程的跳转,在PHP中的跳转语句有break语句、continue语句和goto语句,同时本段再介绍三个函数die\exit\sleep

  1、break语句

  ①当break出现在switch条件语句中时,作用是终止某个case并跳出switch结构;

  ②当break出现在循环语句中时,作用是跳出当前循环,执行后面的代码;

  ③break可以接受一个数字参数决定跳出几重循环;

  

  2、cintinue语句

  终止本次循环,执行下一次循环

  3、goto语句

  ①goto语句的作用是跳转到程序的另一位置。在目标位置用目标名称加上冒号来标记,跳转语句是goto之后加上目标位置的语句;

  ②goto语句仅在PHP5.3及以上版本有效;

  ③goto语句只能在同一个文件或则作用域中跳转,也就是说无法跳出一个函数或者类方法,也无法跳入另一个函数。

<?php    for($i=1,$j=10;$i<20;$i++){        while($j--){            if($j==5) goto end;        }    }        echo '$i=' . $i;  //不执行    end:    echo '$i=' . $i . '  $j=' . $j;  //$i=1 $j=5?>

  4、die / exit

  退出代码执行,当前位置之后的所有代码不执行,相当于return,可以用来进行程序运行控制,可以在出错的时候执行此语句,退出代码的执行;

  exit可以在退出时候输出变量值,完成函数的执行;exit(‘结果为:’ . $res); //输出
结果为:$res

  5、sleep

  休眠函数,执行到sleep所在语句时,延缓一定的秒数,继续执行,可以查看一些临时数据。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 澳门新葡亰官网app 版权所有