PHP基本语法学习

一、初始PHP脚本程序

1.PHP开始标记

<?php **
2.PHP结束标记**
** ?>**

1). 这之间就表示进入PHP模式,在开始和结束标记之外的内容都会被PHP解析器忽略。

2). 可以直接嵌入到html代码中,并且可以嵌入到html代码的任何地方,在一个html文档中可以嵌入任意多个PHP标记

3). 文件末尾的PHP代码段结束标记可以不要 在一些情况下省略更好

2.指令分隔符“分号”

1). PHP语句分为两种,一种是在程序中使用结构定义语句,另外一种是在程序中使用功能执行语句,其中前者结尾不需要使用分号,后者必须使用分号结尾!

2). 结束表示 ?> 就隐含一个分号,所以PHP代码最后一行可以不用加分号!

附加


注释
1)多行注释
/*
多行注释*
**/

2)单行注释
// 我是单行注释

二、变量

变量是用于临时(只有我们的程序在运行过程中才存在)储存值(数据)的容器

1.变量的声明

          PHP的特性之一就是它不要求在使用变量之前声明变量,当第一次给一个变量赋值时,你才创建了这个变量,变量用于存储比如数字、文本字符串或者数组。一旦设置了某个变量,我们就可以在脚本中重复地使用它。PHP中变量必须使用一个美元符号$ 后面跟着变量名来表示,使用赋值操作符(=)给一个变量赋值。

2.变量的释放

            unset()函数释放指定的变量

3.变量的命名

1)变量名是严格区分大小写的

 $name<br />     $NAME<br />     $Name

2) 变量名由字母或者下划线开头,后面可以跟上任意数量的字母,数字,或者下划线。

变量名的标示符一定不要以数字开头,中间不可以使用空格,不能使用点分开!
** 变量名只能包含 字母 数字 下划线 并且 必须以字母或下划线开头!!!**
**

1
2
3
4
<?php
$name=1;
echo $name;//输出变量$name 的内容!
?>

3)PHP中有一些标示符是系统定义的,也称为关键字,是PHP语言的组成部分,因此不能使用它们中的任何一个作为常量函数名或者类名,但是和其他语音不同的是可以在PHP中作为变量名称使用,不过这样容易混淆,所以最好还是不要用PHP的关键字作为变量名称
image.png

4.可变变量

1
2
3
4
5
<?php
$abc='test';//定义了一个变量$abc 里面存的值为test
$$abc='tttt'; //$test='tttt';
echo $test;
?>

了解即可

5.变量的引用赋值

1
2
3
4
5
<?php
$a=1000;
$b=$a;
echo $b;//输出$a也为1000 $a的值不会改变
?>

三、变量类型

概述:变量类型是指保存在该变量中的数据类型,相同类型的数据才可互相操作。

1.变量类型简介

使用var_dump(变量名)** **可以输出变量的类型!

1)bool(布尔型)

1
2
3
4
<?php
$a=true;
echo $a;
?>

这个是最简单的类型,布尔型表达了true或false,即真和假
以下值被认为false,其他则为true

1️⃣布尔值false

2️⃣0

3️⃣浮点型0.0

4️⃣空白字符串和字符串0 //空白字符串是指没有任何内容

5️⃣没有成员的数组

6️⃣NULL

2)int (整形)

  往变量里存储整数

3)float(浮点型也称double)

往变量里存小数

4)string(字符串)

字符串就是一系列的字符组成串在一起
单引号’’包括起来的不能再包含’’ 要使用反斜杠\来进行转义

1
2
3
4
5
<?php
$b=1;
$a='textqqq\'ssd';
echo $a;
?>

双引号

1
2
3
4
5
<?php
$b=1;
$a='te($b)xtqqq\'ssd';
echo $a;
?>

定界符

1
2
3
4
5
6
<?php
$a=<<<aaaaa
sdfasfsfsfffsafsfasasffsfsaasffas
aaaaa;
var_dump($a);
?>

5) 数组

6)object(对象)

7)resource(资源)

8)NULL

    null表示一个变量没有值,表示空<br />          将变量直接赋值为null<br />         声明的变量就是尚未被赋值<br />         被unset()函数销毁的变量
1
2
3
4
5
<?php
$a=1111;
unset($a);
var_dump($a);
?>

2.变量类型的相互转换

1)自动类型转换

有布尔值参与运算时,true将转化为整数1,false将转化为整数0
有null值参与运算时,null值将转化为整数0再进行运算
有int型和float型数据参与运算时,先把int转变为float型后再进行运算
有字符串和数字型(int或者float)参与运算时的情况

2)强制类型转换

1
2
3
4
5
<?php
$a='7qwe';
$b=(int)$a;
var_dump($a);
?>

不要给自己挖坑!!!

3)变量类型的测试函数

** is_boll()
is_int(()
is_array() 等等。。。。**

四、常量

1.概念

常量是用于临时(只有我们的程序在运行过程中才存在)储存值(数据)的容器

2.定义和使用

define(常量名称,常量值)
常量的命名与变量类似,也遵循PHP标识符的名称规则,按照惯例常量标识符总是大写的
define(’MY_NAME’,’哈哈’)
defined()函数来检查是否定义了某个常量
自己定义的常量是严格区分大小写的!

3.常量和变量的区别

1)常量前面没有美元符号$<br />    2) 常量只能用define()函数定义, 不能通过赋值语句<br />    3) 常量可以不用理会变量范围的规则而在任何地方定义和使用<br />    4) 常量一旦被定义 就不能被重新定义和取消定义<br />    5) 常量的值只能是bool,int,float,string类型

4.预定义常量

  预定义常量就是PHP内核帮我们定义好的常量<br />其中有的预定义常量是以____开头的,这些常量我们又叫它**魔术常量**
1
2
3
4
5
<?php
$a='EDG'
define('MY_NAME','EDG');
echo__FILE__;
?>

预定义常量是不区分大小写的!

五、运算符

1.概述

     **说白了就是一些符号!!!****这些符号可以将变量或者数据执行某种运算!**<br />**举例:**<br />**      !true  **<br />**        !是运算符  true是操作数**<br />**      $a+$b**<br />**           =是运算符  $a,$b是操作数**<br />**       true?1:0  **<br />**             ?和  :是运算符     true 和1 0 是操作数**<br />** ****根据操作数个数分为  一元运算符,二元运算符,三元运算符**<br />**

2.算数运算符

image.png

3.字符串运算符

PHP中的字符串运算符只有一个英文的句号. 也叫连接运算符
**

1
2
3
4
5
<?php
$a='孙胜利'
$b='YYDS'
echo $a.$b;
?>

4.赋值运算符

1
2
3
<?php
$a=1;//$a=1+1;
?>

左边的操作数必须是变量,右边可以是一个表达式,也可以是一个值,一个变量等等!!!!
作用: 将右边表达式的值赋给左边变量

1
2
3
4
5
6
<?php
$a=2;
$b=1;
$a-=$b;//$a=$a-$b;
echo $a;
?>

5.比较运算符

对操作数(按照比较运算符的要求,规则)进行比较
如果比较出的结果满足比较运算符的结果 就为true 否则为false
image.png==数值相等!===类型值都相等
PHP中规定: 使用echo输出布尔类型值的时候
** echo true;它在界面中会输出1;**

**如果需要输出布尔类型值的时候我们最好使用var_dump()来输出更精确的结果!

1
2
3
4
5
<?php
$a=1;
$b=1;
var_dump($a==$b);//true
?>
1
2
3
4
5
<?php
$a=11;
$b='11';
var_dump($a==$b);//字符串会转化为整数 true!!
?>
1
2
3
4
5
<?php
$a=11;
$b='11';
var_dump($a===$b);//false!!!!
?>

6.逻辑运算符

image.png
对表达式进行逻辑运算,运算出的结果是布尔类型的值(true,false)
** 要求:**
** 参与逻辑运算的表达式的值是布尔类型的值,如果不是布尔类型的值会被PHP自动转换成布尔类型的值,然后再参与运算**

1
2
3
4
5
<?php
$a=true;
$b=true;
var_dump ($a && $b);
?>

7.位运算符

         位运算符用于对操作数中的每一个二进制数进行位运算,由于PHP主要用于网站开发方面,所以位运算符在PHP中使用较少

8.其他运算符

1)?:三元运算符

** 表达式1 ?表达式2 : 表达式3**
如果表达式1的值为true,那么就执行表达式2,否则就执行表达式3

1
2
3
4
<?php
$a=true ? 10 : 20;// 10
echo $a;
?>

2)`` 把系统的命令放在里面执行

1
2
3
4
<?php
$a=`ipconfig`;
var_dump($a);
?>
                        **涉及跨平台问题!!不常用!!!**

3)@ 屏蔽表达式可能发生的错误

1
2
3
<?php
echo @$a;
?>

4)=>

5)->

6)instanceof

9.运算符的优先级

image.png

1
2
3
4
5
6
7
8
9
<?php
$a = 3 * 4 % 5; // (3 * 4) % 5 = 2
$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2
$a = 1;
$b = 2;
$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5
echo ++$a + $a++;
?>
//12
Prev:
流程控制
Next:
学前准备
catalog
catalog