034 PHP基础,变量,运算符,流程控制

文章目录

一:PHP基础概述

PHP的语法借鉴吸收了C语言,Java和Perl等流行计算机语言的特点,易于一般程序员学习
PHP的主要目标时允许网络开发人员快速编写动态页面
简单点说PHP主要被用于开发各种类型的网站程序
脚本后缀名:.PHP
与html语言进行混编,脚本的后缀名依然是PHP
细化点说PHP可以用于收集表单数据,生成动态网页,字符串处理,动态输出图像,处理服务端文件,与数据库交互,会话跟踪,
处理xml文件支持大量的网络协议,服务端的其他相关操作
PHP是脚本语言,解释型语言,不需要事先编译,即可在服务器端运行
PHP可以运行在windows,Linux等各种操作系统上
windows:PHPstudy
Linux:单独安装

1.1:web工作原理概述:

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

1.2:PHP运行环境安装

Apache + PHP + MysqLPHP比较流行的生存环境
LAMP

1.3:PHP语言标记

开始标记:<?PHP
结束标记:?>

1:<?PHP ?>这之间就表示进入PHP模式,在开始和结束标记之外的内容都会被PHP解析器忽略
2:可以直接嵌入到HTML代码中,并且可以嵌入到HTML代码中的任何地方
3:在一个html文档中可以嵌入任意多个PHP标记
4:文件末尾的PHP代码段结束标记可以不要

1.4:指令分隔符【;】

PHP 用分号表示一句话的结束
结束标志?>就隐含一个分号,所以PHP代码最后一行可以不用加分号

1.5:注释:

注释内容不会显示在浏览器的源代码中,PHP运行的环境是服务器,我们浏览器端看到的是PHP引擎运行PHP代码后的执行结果
/* 多行注释 */
// 单行注释

1.6:遇到空白的处理

空白符包括:空格,制表符tab,换行
	这些在PHP中都是无关紧要的(注意都是在英文输入法下输入的),可以将一个语句展开成人一行,或者紧缩在一行,
	空格与空行的合理运用可以增强代码的清晰性与可读性,如果运用不合理反而会对阅读产生负担。

1.7:简单的PHP语句

1 PHPinfo();
2 echo	用于输出简单的变量
3 var_dump();
	用于输出变量值及其变量类型

在这里插入图片描述

二:PHP变量

2.1:概述

变量是临时存储值的容器
另外PHP脚本语言是一种弱类型的语言,和其他语言不同的是变量或者常量的数据类型由程序的上下文决定

2.2:变量的声明:

PHP的特性之一就是它不要求在使用变量之前声明变量,当第一次给一个变量赋值时,你才创建了这个变量,变量用于存储值,
比如数字,文本,字符串,数组等等,一旦设置了某个变量,我们就可以在脚本中重复的使用它
PHP中变量必须使用一个美元符号$ 后面跟着变量名来表示,使用赋值操作符(=)给一个变量赋值
引用赋值:
	$c = &$a;
	相当于给$a起了一个别名,$c的值改变,$a也随之改变;$a的值改变,$c也随之改变。绑定在一起,均指向同一内存地址

2.3:释放变量:

unset($name);

在这里插入图片描述

2.4:变量的命名:

1:严格区分大小写
2:字母,数字,下划线,不能以数字开头
	$name1
	$_name23
3:尽量不要使用PHP关键字做为变量名

2.5:可变变量:$$

$$name

在这里插入图片描述

2.6:变量的引用赋值:&$

在这里插入图片描述

2.7:PHP语法错误级别:

Error			结束脚本执行
Warr~			只提示,不影响执行
Notice

2.8:变量类型:

变量类型是指保存在该变量中的数据的类型,具有相同的类型的数据才能彼此互相操作。使用var_dump(变量名) 可以输出变量的类型。

2.8.1:布尔类型

true
false
以下内容会被当作false,其他均会被认为true
	1)布尔值false
	2)0
	3)浮点型0.0
	4)空白字符串和字符串0
	5)没有成员的数组
	6)NULL

在这里插入图片描述

2.8.2:int

存储整数

2.8.3: float

存储小数

2.8.4:字符串:string

字符串的定义
	''
	""
	注意:单引号定义的字符串中若有单引号,则需要转义符\
		  单引号定义的字符串中,$符号原样输出
		  双引号定义的字符串中,$符号是变量的开始,变量整体用{}括起来
		  单双 引号定义的字符串中输入特殊字符包括【' '' $...】需要转义
		  定界符:
			定界符的开始和结束后面不能有任何字符,包括空白字符和注释

在这里插入图片描述

2.9:常量:不变的量

define("NAME","XXX");
		echo NAME;
		预定义常量:
		__FILE__				当前的文件名(包括路径)
		__LINE__				当前行数
		__FUNCTION__			当前函数名
		__CLASS__				当前的类名
		__METHOD__				当前对象的方法PHP_OS					UNIX或WINNT等
		PHP_VERSION				当前PHP服务器的版本
		DIRECTORY_SEParaTOR		\或/  根据操作系统决定目录的分隔符

在这里插入图片描述

 
 

三:PHP运算符

3.1:算数运算符

<?PHP
$a = 10;
$b = 5;
$c = -$a;
echo $c;
echo "<hr />";
$c = $a + $b;
echo $c;
echo "<br />";

$c = $a - $b;
echo $c;
echo "<br />";

$c = $a * $b;
echo $c;echo "<br />";

$c = $a / $b;
echo $c;echo "<br />";

$c = $a % $b;
echo $c;echo "<hr />";

echo $a++;		// 10  先输出,再自增
echo ++$a;		// 12  先自增,再输出
echo "<br />";
echo $a;		// 12
echo "<br />";
echo $a--;		// 12
echo --$a;		// 10
?>

在这里插入图片描述

3.2:逻辑运算符

非			!				取反
与			and   &&		$a和$b同时为true ---> true
或			or	||			$a和$b任一个为true ---> true
异或		xor				$a和$b任一个为true,但不同时 ---> true
<?PHP
$a = true;
$b = false;
$c = !$a;
var_dump($c);		// bool(false) 

$c = $a and $b;
var_dump($c);		// true

var_dump($c = $a and $b);

?>

在这里插入图片描述

3.3:比较运算符

比较参与运算的单元是否相同,相同为真,不同为假。
			$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的integer 值。 PHP7开始提供.  
			$a ?? $b ?? $c NULL 合并操作符 从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。PHP7开始提供 
<?PHP
$a = 0;
$b = false;
$c = 0.0;
$d = 1/3;
$e = 2/6;
$f = true;

echo '$a == $b:';
var_dump($a == $b);		// bool(true)
echo "<br />";

echo '$a === $b:';
var_dump($a === $b);	// bool(false)
echo "<br />";

echo '$a != $b:';
var_dump($a != $b);		// bool(false)
echo "<br />";

?>

在这里插入图片描述

3.4:其他运算符

?:			三元运算符
				$a=10>20?10:20;
``			将字符串当作命令执行
@			屏蔽提示
<?PHP
$a = 10<20?10:20;
echo $a;				// 10
echo "<hr />";
echo `whoami`;			// win2008-1\administrator
echo "<hr />";
echo @$name;			// 屏蔽错误提示
?>

在这里插入图片描述

 
 

四:PHP循环与控制

4.1:顺序执行:

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

4.2:分支执行

4.2.1:双向分支:

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

4.2.2:多向分支

if (判断条件){执行语句块1}elif{执行语句块2}elif{执行语句块3}...else{执行语句块}
switch...case...default

switch:
rand随机数1-7每次刷新网页都不一样

<?PHP
$day = rand(1,7);
echo $day;
echo "<br />";
switch($day){
	case 1:
		echo "monday";
		break;
	case 2:
		echo "tuesday";
		break;
	case 3:
		echo "wednesday";
		break;
	case 4:
		echo "thursday";
		break;
	default:
		echo "what?";
}
?>

在这里插入图片描述

4.3:循环执行:

4.3.1:while

当满足条件时,执行
计数器,变量
判断条件

在这里插入图片描述

4.3.2:do{}while()

先执行,再判断
<?PHP
	$a = 0;
	do{
		echo ++$a;
	}while($a < 10)
?>

在这里插入图片描述

4.3.3:for循环:

for(;;){}
<?PHP
for($a=0;$a<10;$a++){
	echo $a."<br />";
}
?>

在这里插入图片描述

4.4:流程控制:

4.4.1:break

break
break 2;				跳出两层循环
<?PHP
for($i=0;$i<10;$i++){
	echo $i."<hr />";
	for($j=0;$j<5;$j++){
		echo $j."<br />";
		if($j==3){
			echo "xxxxxx";
			break 2;		// 跳出两次循环
		}	
	}
	echo "<hr />";
}
?>

在这里插入图片描述

4.4.2:continue:跳过本次循环

<?PHP
for($i=0;$i<10;$i++){
	echo $i."<hr />";
	for ($j=0;$j<5;$j++){
		if ($j == 3){
			continue;			// 跳过本次(第三次)循环
		}
		echo $j."<br />";
	}
}
?>

在这里插入图片描述

4.4.3:die();和exit();

都是直接结束脚本

<?PHP
for($i=0;$i<10;$i++){
	echo $i."<hr />";
	for ($j=0;$j<5;$j++){
		if($j==3){
			# die("the end");
			exit("the end");
		}
		echo $j."<br />";
	}
}
?>

在这里插入图片描述

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...