avatar

php学习笔记(一):php基本语法

说明

本笔记根据网上讲课视频内容总结

原视频地址:https://edu.51cto.com/course/1676.html

一、初识PHP脚本程序

1.PHP语言标记

1)PHP开始标记

1
<?php

2)PHP结束标记

1
?>

3)PHP代码可以嵌入到html代码中任何位置,并且可以嵌入任意多个

4)文件末尾的?>结束标志可以省略

2.指令分隔符

1)在一些PHP语句的结尾要加上;,表示一句话的结束

2)结束标记?>就隐含了一个;,所以在?>之前的PHP语句可以省略;

3.注释

1)多行注释

1
2
3
/*
这是多行注释
*/

2)单行注释

1
// 这是单行注释

二、变量

变量是用于临时存储值(数据)的容器

1.变量的声明

变量用于存储数字、文本字符串或者数组这些数据(在PHP程序里面,使用变量之前是不需要声明的)

1
$变量名=数据(值)

2.变量的销毁

1
2
3
4
unset($变量名称)
$and1=1;
unset($and1); // 销毁$and变量
echo $and1; // 提示出错,因为变量已经被销毁了!

3.变量的命名规则

1)变量名称严格区分大写,$name$NAME$Name都是不同的变量

2)字母或者下划线开头,后面接任意数量的字母数字下划线都可以! (变量名只能包含字母、 数字、下划线,并且必须以字母或者下划线开头)

3)最好不要用一些关键字作为变量名称(因为在其他的编程语言里面是完全不被允许的)

4.可变变量

1
2
3
4
//可变变量
$abc='test';//定义了一个变量$abc里面存了值test
$$abc='可变变量'; //$test='可变变量';
echo $test;

5.变量的引用赋值

1
2
3
4
5
$a=1000;
/*$b=$a;//相当于把$a的值,复制一份再赋值给$b这个变量*/
$b=&$a;//相当于给$a起了一个别名,操作其中任何一个,都会影响到另外一个变量的值!
$b=20;
echo $a;

三、变量类型

变量类型是指保存在该变量中的数据类型

1.变量类型简介

1)bool (布尔型)

1
2
$a=true;
var_dump($a);

以下值被认为是false,其他的值都是被认为是true

  • 布尔值false
  • 0
  • 浮点型0.0
  • 空白字符串和字符串0(空白字符串指的是直接一对单引号或者双引号里面没有任何内容
  • 没有成员的数组
  • NULL

2)int (整型): 往变量里面存整数,那么这个变量就是整型变量啦!

3)float (浮点型,也称double):往变量里面存小数,那么这个变量就是浮点型数据了!

1
2
$a=1.1;
var_dump($a);

4)string (字符串)
字符串就是一系列的字符组成串在一起!

  • 单引号:
1
2
3
4
$b=1;
$a='test$bdwqd\'wqdqw';
var_dump($a);
echo $a;

在定义一些简单的字符串的时候使用单引号这种方法效率比较高

  • 双引号
1
2
3
4
5
$b=100;
$a='te$bst......';
$a="te{$b}st......";
var_dump($a);
echo $a;
  • 定界符
1
2
3
4
5
$b=200;
$a=<<<www
dwqdqwdwq{$b}dwqdqdqdqdwqdwqcwcfwefwefcscwecwefwdqwdqdefwefwefewfwe
www;
var_dump($a);

5)array (数组)
6)object (对象)
7)resource (资源)
8)NULL:null表示一个变量没有值,表示空,

  • 将变量直接赋值为null;
  • 声明的变量尚未被赋值;
  • 被unset函数销毁的变量;
    1
    2
    3
    $a=1111;
    unset($a);
    var_dump($a);

    2.变量类型相互转换

    强制转换:
    1
    2
    3
    4
    $a='变量';
    $b=(int)$a;
    var_dump($a);
    var_dump($b);

    四、常量

1.概念

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

2.定义和使用

define('常量名称',常量值)或者define("常量名称",常量值)
常量的命名:
1)只能包含字母、数字、下划线并且必须以字母或者下划线开头;
2)按照惯例常量名字总是大写的;
3)自定义的常量是严格区分大小写的;
defined()函数来检查是否定义了某个常量

3.常量和变量的区别

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

4.预定义常量

预定义常量:PHP内核已经定义好的常量。其中有的预定义常量是__开头的,这些预定义常量我们又叫它魔术常量。代码所在的位置不同他的值也是不同的,所以它叫魔术常量。预定义常量是不区分大小写的!

八个常用的魔术常量

五、运算符

运算符是可以将变量或者数据执行某种运算的一些符号

1.算术运算符

1)+

1
2
3
4
$a=1;
$b=2;
$c=$a+$b;
echo $c;

2)-

  • 第一个意思: 减号
1
2
3
4
$a=10;
$b=2;
$c=$a-$b;
echo $c;
  • 第二个意思: 取反(取反并不会影响到被取反变量本身的值)
1
2
3
4
5
$a=1;
$b=-$a;
echo $b; // -1
echo '<br />';
echo $a; // 1

3)* 乘号

1
2
3
4
$a=4;
$b=2;
$c=$a*$b;
echo $c;

4)/ 除号

1
2
3
4
$a=10;
$b=2;
$c=$a/$b;
echo $c;

5)% 取模

1
2
3
$a=12;
$b=2;
echo $a%$b;

6)++ 自增

  • 前++:当在一个语句里面需要使用到被自增的变量的值的时候,前++会先执行自增,然后再返回自增之后的值!

    1
    2
    $a=10;
    echo ++$a;//11
  • 后++:当在一个语句里面需要使用到被自增的变量的值的时候,后++会先返回变量的值然后再去执行自增

    1
    2
    3
    4
    5
    6
    $a=10;
    //++$a;//$a=$a+1;
    //$a++;//$a=$a+1;
    echo $a++;//echo $a;$a=$a+1;
    echo '<br />';
    echo $a;//11

    注意:

    1
    2
    3
    $a=10;
    ++$a; // 这种情况不需要用到自增变量值的时候,和后++无区别
    echo $a;

    7)-- 自减

  • 前–

    1
    2
    3
    4
    5
    $a=10;
    //$a--;//$a=$a-1; 和--$a没区别;
    echo --$a;//$a=$a-1;echo $a;
    echo '<br />';
    echo $a;
  • 后–

    1
    2
    3
    4
    5
    $a=10;
    //$a--;//$a=$a-1; 和--$a没区别;
    echo $a--;//echo $a;$a=$a-1;
    echo '<br />';
    echo $a;

    注:自增或者自减是对变量而言的!

    2.字符串运算符

    .:连接运算符

1
2
3
$a='变量';
$b='测试字符串连接符';
echo $a.$b;

3.赋值运算符

注意:赋值运算符整个语句是有值的,所以整个语句就是一个表达式,所以我们也可以这么写:
$a=$b=2;相当于$a=($b=2);也相当于$a=2;$b=2

  • =:把右边的值赋给左边的变量,二元运算符
    1
    $a=1;
  • +=
    1
    2
    3
    4
    $a=1;
    $b=2;
    $a+=$b;//$a=$a+$b;
    echo $a;
  • -=
    1
    2
    3
    4
    $a=2;
    $b=1;
    $a-=$b;//$a=$a-$b
    echo $a;

    4.比较运算符

    概念:对操作数(按照比较运算符的要求,规则)进行比较。如果比较出的结果满足比较运算符的要求那么结果就是true(真,成立,满足),否则就是false(假,不成立,不满足)。

PHP中规定:使用echo输出布尔类型值的时候

  • echo true;它在页面中会输出1
  • echo false;它会在页面中什么都不输出

1)== 值是否相等
如果值相等则就是 true(真,成立),如果值不相等那么就是false(假,不成立)

1
2
3
$a=1;
$b=1;
var_dump($a==$b);//true

2)=== 全等(值要相等,类型也要相等)
如果两边操作数的值 全等那么就是true否则就是false

1
2
3
4
$a=11;
$b='11';
//var_dump($a==$b);//true
var_dump($a===$b);//false

3)!= 值是否不相等
如果两边操作数的值不相等那么就是true,否则就是false

1
2
3
$a=1;
$b=11;
var_dump($a!=$b);//true

4)<> 同上
5)!== 不全等
如果两边的操作数不全等那么就是true,否则就是false

1
2
3
4
5
6
7
8
9
10
/*
$a=1111;
$b=2;
var_dump($a!=$b);//true
var_dump($a!==$b);//true
*/
$a=11;
$b='11';
var_dump($a!=$b);//false
var_dump($a!==$b);//true,$a不全等于$b

6)< 小于
比较两边操作数的值,前面的是否小与后面的

1
2
3
$a=1;
$b=1;
var_dump($a<$b);//false,$a小与$b这句话正确还是错误

7)> 大于

1
2
3
$a=10;
$b=1;
var_dump($a>$b);

8)<= 小于等于

1
2
3
$a=1;
$b=1;
var_dump($a<=$b);//$a小与等于$b就是true,否则就是false

9)>= 大于等于

1
2
3
$a=2;
$b=1;
var_dump($a>=$b);//true

5.逻辑运算符

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

  • 逻辑与:and 或者 &&
    运算规则:左右两边的表达式的值都为true的时候,运算的结果就是true。否则只要其中任意一个为false,运算的结果就是false;

  • 逻辑或:or 或者 ||
    运算规则:左右两边的表达式的值有一个为true,运算的结果就是true,只有当两边的值都是false的时候,结果才会是false

  • 逻辑异或:xor
    运算规则:左右两边的表达式的值不一样的时候结果就是true,如果一样那么运算的结果就是false

    1
    2
    3
    $a=false;
    $b=false;
    var_dump($a xor $b);
  • 逻辑非:!
    运算规则:将原来表达式的值否定掉,原来是true,那么结果就是false,原来是false,那么结果就是true。

6.其他运算符

1)? ::三元运算
格式:表达式1 ? 表达式2 : 表达式3;如果表达式1的值为true,那么就执行表达式2,否则那么就执行表达式3

1
2
$a=false ? 10 : 20;
echo $a;//20

2)``:可以把系统的命令放在里面执行!

1
2
3
$a=`ipconfig`;
$b=`ifconfig`;
var_dump($b);

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

1
echo @$a;

7.运算符的优先级

优先级归纳:
1)[无]递增递减
2)[右]逻辑非!
3)[左]乘,除,取余
4)[左]加,减,字符串连接符
5)[无]包含大于号或者小于号的比较运算符
6)[无]不包含大于号或者小于号的比较运算符
7)[左]逻辑与&&
8)[左]逻辑或||
9)[左]? :
10)[右]赋值运算符
12)[左]逻辑异或xor

圆括号的作用:用圆括号可以将表达式里面的某一块看成一个整体!使用括号可以增强代码的可读性。

文章作者: Bayden Bao
文章链接: http://braydenbao.github.io/2020/06/19/php%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%EF%BC%88%E4%B8%80%EF%BC%89%EF%BC%9Aphp%E5%9F%BA%E6%9C%AC%E8%AF%AD%E6%B3%95/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Brayden Bao
打赏
  • 微信
    微信
  • 支付宝
    支付宝