【CyberSecurityLearning 45】PHP基础+变量、运算符、流程控制语句

目录

PHP概述

PHP运行环境安装

Web原理简述

PHP 基本语法

特点:

指令分隔符 [;]

注释(和C语言类似)

简单的PHP语句

PHP语法错误:

变量

变量的声明

初始化

赋值

[=]  

引用赋值 $c =&$a

变量的释放

变量的命名

可变变量

变量的类型

常量

预定义常量

运算符

算术运算符(见代码)

逻辑运算符

运算符优先级

比较运算符

赋值运算符

算术赋值运算符 ¶

其他赋值运算符 ¶

其他运算符

流程控制语句

顺序执行

分支执行

单向分支

双向分支

多向分支

循环语句

while

do while

for(好!)

特殊流程控制语句

九九乘法表


PHP概述

- PHP是一门编程语言,PHP主要目的是允许网络开发人员快速编写动态页面
- 简单来说PHP主要被用于开发各种类型的网站程序
- 细化点说PHP可以用于收集表单数据,生成动态网页,字符串处理,动态输出图像,处理服务端文件,与数据库交互,会话跟踪,处理XML文件,支持大量的网络协议,服务器端的其他相关操作!
- PHP是解释型脚本语言不需要事先编译,运行在服务器端
- PHP可以运行在windows、linux等各种操作系统上!

专门用于开发网站的
脚本后缀名.php 可以与HTML语言进行混编,脚本后缀依然是.php(还可以在PHP代码中输出HTML语言)
解释型语言,不要编译直接运行

弱类型

PHP运行需要环境:
Windows: phpstudy
Linux: 单独安装(不是系统自带的)

PHP运行环境安装

Apache+PHP+MySQL是PHP比较流行的生存环境

LAMP

Web原理简述

1.打开浏览器
2.输入URL地址
3.显示网站内容

PHP 基本语法

PHP 语言标记

      开始标记 <?php

      结束标记  ?>

特点:

1、<?php?>这之间就表示进入PHP模式,在开始和结束处之外的内容都会被PHP解析器忽略

2、可以直接嵌入到html代码中,并且可以嵌入到html代码中的任何地方

3、在一个html文档中可以嵌入任意多个PHP标记

4、文件末尾的PHP代码结束标记可以不要,在一些情况下省略掉更好

指令分隔符 [;]

一个php语句必须(建议)要用分号结束

注释(和C语言类似)

单行注释 //

多行注释 /*  */

注意:

php代码中注释,不会显示在浏览器的源代码中。

php运行环境是服务器,我们浏览器看到的是PHP引擎运行PHP代码后的执行结果

在我们PHP引擎解释PHP代码的时候,注释被自动过滤掉了。
为什么HTML代码客户端可以看到源代码?
因为HTML运行环境是浏览器!

简单的PHP语句

1、phpinfo();

2、echo 用于输出简单的变量

3、var_dump(); 用于输出变量值及其变量类型

PHP语法错误:

Error             会结束脚本执行
Warning        只提示,不影响执行
Notice           只提示,不影响执行

变量

变量的声明

不需要声明变量,但要初始化

初始化

给变量初次赋值,或者变量的默认值

赋值

[=]  

根据实验说明:PHP脚本是顺序执行的

引用赋值 $c =&$a

相当于给$a起了一个别名,$c值的改变,$a也随之改变

<?php
$a=10;
$b=$a;
$b=$b+1;
echo $a;  //10
echo "|";
echo $b;  //11
echo "<hr />";
$c=&$a; //$a和$c实际上指向的是同一块内存空间(相当于给$a起了一个别名)
$c=$c+1;
echo $a; //11
echo "|";
echo $c; //11
?>

变量的释放

unset()

<?php
echo "This is var.php";
echo "<hr />";
echo "<span style='color:pink;background-color:blue'>123</span>";
?>

//一个页面中可以插入多个PHP标记(不能混用)
<hr />

<?php
//PHP在使用变量的时候不需要进行变量声明,
//如果一个变量没有初始化,内存中就没有这个变量。
echo $name;
$name="AJEST";
echo "<br />";
echo $name;
echo "<br />";
unset($name); //释放了变量
echo $name;

?>

 

变量的命名

   @  以$符号开头

   @  严格区分大小写

   @  字母|数字|下划线,不能以数字开头

$name1
$my_name
$_my_name
$1_name   错误

   @  尽量不要使用php关键字作为变量名

可变变量

<?php
$name="hello";
$$name="world";
echo $name;  //输出hello
echo "<br />"
echo $$name; //world
echo $hello;//实际上$hello是$$name
?>

 

变量的类型

布尔类型 
true false,其他均会被认为true

以下所有内容会被当做false

布尔值false
0
浮点型0.0
空白字符串和字符串0
没有成员的数组
NULL

var_dump(); 用于输出变量值及其变量类型

int  存储整数

float 存储小数 3.14

字符串 string

字符串的定义:

@    '  '

@    " "

@   定界符

注意:

@单引号定义的字符串中出现单引号要转义[\]

@单引号定义的字符串中,[$] 符号原样输出

@双引号定义的字符串中,[$] 是变量的开始,整体变量名用{ }括起来

@单双引号定义的字符串中输入的特殊字符包括 [ ' , " , $ ...]需要转义

@定界符开始和结束后面不能有任何字符包括空白字符和注释

数组

对象 不讲

 

常量

不变的量

定义   define("NAME","GGG");

直接使用即可

预定义常量

常量名                                      常量值
__FILE__                                 当前的文件名(文件名带路径)
__LINE__                                 当前的行数
__FUNCTION__                      当前的函数名
__CLASS__                             当前的类名
__METHOD__                         当前的对象的方法名
PHP_OS                                  UNIX或WINNT等
PHP_VERSION                       当前的PHP服务器的版本
DIRECTORY_SEPARATOR     \或/    根据操作系统决定目录的分隔符

 

运算符

算术运算符(见代码)

取模就是取余数。

逻辑运算符

php手册

非            !

与            and 或者 &&

或            or ||

异或         xor 不同为真,相同为假

与运算的优先级高于或运算

赋值运算符的优先级高于逻辑运算符

运算符优先级

括号的使用,哪怕在不是必要的场合下,通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加代码的可读性。
下表按照优先级从高到低列出了运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

运算符优先级
结合方向运算符附加信息
不适用clone newclone 和 new
**算术运算符
不适用++ -- ~ (int) (float) (string) (array) (object) (bool) @类型递增/递减
instanceof类型
不适用!逻辑运算符
* / %算术运算符
+ - .算术运算符 和 字符串运算符
<< >>位运算符
< <= > >=比较运算符
== != === !== <> <=>比较运算符
&位运算符 和 引用
^位运算符
|位运算符
&&逻辑运算符
||逻辑运算符
??null 合并运算符
? :三元运算符
= += -= *= **= /= .= %= &= |= ^= <<= >>= ??=赋值运算符
不适用yield fromyield from
不适用yieldyield
不适用printprint
and逻辑运算符
xor逻辑运算符
or逻辑运算符

 

比较运算符

比较运算符
例子名称结果
$a == $b等于true,如果类型转换后 $a 等于 $b。
$a === $b全等true,如果 $a 等于 $b,并且它们的类型也相同。
$a != $b不等true,如果类型转换后 $a 不等于 $b。
$a <> $b不等true,如果类型转换后 $a 不等于 $b。
$a !== $b不全等true,如果 $a 不等于 $b,或者它们的类型不同。
$a < $b小与true,如果 $a 严格小于 $b。
$a > $b大于true,如果 $a 严格大于 $b。
$a <= $b小于等于true,如果 $a 小于或者等于 $b。
$a >= $b大于等于true,如果 $a 大于或者等于 $b。
$a <=> $b太空船运算符(组合比较符)当$a小于、等于、大于 $b时 分别返回一个小于、等于、大于0的 int 值。

当两个操作对象都是 数字字符串, 或一个是数字另一个是 数字字符串, 就会自动按照数值进行比较。 此规则也适用于 switch 语句。 当比较时用的是 === 或 !==, 则不会进行类型转换——因为不仅要对比数值,还要对比类型。

比较参与运算的单元是否相同,相同为真,不同为假

<?php
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true

switch ("a") {
case 0:
    echo "0";
    break;
case "a": // never reached because "a" is already matched with 0
    echo "a";
    break;
}
?>

赋值运算符

算术赋值运算符 ¶

例子等同于操作
$a += $b$a = $a + $b加法
$a -= $b$a = $a - $b减法
$a *= $b$a = $a * $b乘法
$a /= $b$a = $a / $b除法
$a %= $b$a = $a % $b取模
$a **= $b$a = $a ** $b指数

其他赋值运算符 ¶

例子等同于操作
$a .= $b$a = $a . $b字符串拼接

 

其他运算符

$a= 10>20 ? 10:20(三元运算符)

``    将字符串当作命令执行(不是单引号,是Tab上面的那个键)

@   屏蔽提示,警告

<?php
$a=10<20?10:20;
echo $a;
echo "<hr />";
echo `ping www.baidu.com`;
?>

<hr />

<?php
echo `whoami`;
echo "<hr />";
echo @$name;  //直接写$name会报Notice,在前面加一个@,屏蔽警告、提示
?>

流程控制语句

顺序执行

PHP代码执行的时候,依次顺序执行

分支执行

单向分支

if(判断条件){执行语句块}

双向分支

if(判断条件){执行语句块1}else{语句块2}

多向分支

if(判断条件){执行语句块1}elseif{语句块2}elseif{语句块3}....

elseif

    switch

       case

       default

case后面的语句是不需要用大括号括起来的!

循环语句

while

   当满足条件时,执行

   计数器,变量

   判断条件

do while

    先执行再判断

for(好!)

特殊流程控制语句

break;  跳出本层循环

break 2;  跳出两层循环

continue; 跳过本次循环

die()    结束本次脚本执行

exit()   结束本次脚本执行

九九乘法表

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值