PHP学习(php概念、基本语法、流程控制)

一、初识PHP脚本
1.PHP开始标记

<?php 

2.PHP结束标记

 ?>

3.页面最终是通过HTML,CSS,JS来进行展示的

4.PHP代码可以嵌入html代码中,可以嵌入到任意位置,并且可以嵌入多个php代码,必须在php文件中嵌入才生效。
如果建立的是html文件,中间嵌有php代码,apache默认是不会将文件传送到PHP应用服务器,因为建立的是HTML文件,会直接返回给请求方。

5.文件末尾的?>结束标签可以省略

6.指令分隔符
1.在一些PHP语句的结尾要加上 ;表示一句话的结束。
2.结束标记?>隐含了一个 ;
所以在?>之前的PHP语句可以省略掉 ;
7.注释
多行注释
/*
多行注释
*/
单行注释
//单行注释
8.空白的处理
空格,tab制表符,换行 这些写在PHP代码里是没有影响的
可以利用这些来增加代码的可读性。
二、变量

变量是用于临时存储值的容器

1.变量的声明
在其他语言中,在使用变量前,事先声明一下!
注意:在PHP程序中,使用变量之前是不需要声明的!(可以直接使用)
变量用于存储 数字、文本字符串 或者数组的!
$变量名=数据(值)

2.变量的销毁
unset($变量名称)

3.变量的命令规则
1.变量名称严格区分大小写
$name,$NAME,$Name都是不同的变量
2.字母或者下划线开头
总结:变量名只能包含 字母 数字 下划线并且以字母或者下划线开头!
注意:最好不要用关键字作为变量名称

4.可变变量
例如:

<?php 
			$a='b'//定义一个变量a储存值b
			$$a='c'//$b='c'
			echo $b;
?>

输出结果为:

c

5.变量的引用赋值
引用赋值相当于给变量加了一个别名

<?php
		$b=&$a;//相当于给$a起了一个别名
		$b=20;
		echo $a;
?>

输出结果:

20

三、变量类型

PHP是一种弱语言
概述:变量类型是指保存在该变量中的数据类型

1.变量类型简介
bool(布尔型)
在变量里存true 或 false 那么这个变量就是布尔类型
以下值被认为是false,其他值都是被认为是true
布尔值 false
0
浮点型0.0
空白字符串和字符串0//指的是直接一对单引号或者双引号,里面没有如何内容
例如:

var_dump((bool)"")var_dump((bool)'')

没有成员的数组

var_dump((bool)array());

NULL
例如:

var_dump((bool)NULL);

输出结果 都为:

bool(false)

int(整形)
在变量里面存整数,那么这个变量就是整形变量.

float(浮点型,也称double)
在变量里面存小数,那么这个变量就是浮点型数据.

string(字符串)
需要加单引号或者双引号
例如:

<?php 
				$a='t';
				var_dump($a);
?>

var_dump($变量名)//将变量值和类型一起输出

单引号
PHP不会解析单引号之间的变量

双引号
其中的变量名会被变量值代替,即PHP会解析双引号之间的变量
例如:

<?php
			$b=100;
			$a="te{$b}st";
			var_dump($a);
			echo $a;
		?>

输入结果:

string te100st
te100xt

定界符
<<<名字

名字;
定界符可以包含单引号、双引号、也可以解析变量
例如:

<?php
		$b=200;
		$a=<<<abc;
		wwwww{$b}w
		abc;
		var_dump($a)
		?>

输出结果:

string wwwww200w

array(数组)
objec(对象)
resource(资源)
NULL
例如:

<?php
		$a=null;
		var_dump($a);
		?>

输出结果:

null

二、变量类型相互转化
变量类型强制转化
例如:

<?php
		$a='www';
		$b=(int)$a;
		var_dump($b);
		?>

输出结果:

int 0

四、常量

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

定义和使用
define(‘常量名称’,常量值)或者define(“常量名称”,常量值)
例如:

<?php
			define('WWW',10)
			echo WWW
		?>

输出结果:
10

常量的命名:

1.和变量一样 只能包含字母、数字、下划线 并且必须以字母或下划线开头。
2.按照惯例常量的名称总是大写的。
3.自定义常量总是严格区分大小写的!

常量和变量的区别

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

预定义常量

预定义常量是PHP已经定好了的常量
有的预定义常量是以_开头,这些预定义常量叫做魔术常量
代码所在的位置不同 值也是不同的。

		例如:
			_LINE_
			_FILE_//这些都是魔术常量
		预定义常量是不区分大小写的

五、运算符

概述:
运算符是对一个或者多个操作数(变量或者数值)执行某种运算的符号,也称操作符!

算术运算符
1 .+
例如:

<?php
		$a=1;
		$b=2;
		echo $a+$b;
		?>

输出结果:
3
2. -
第一个意思:减号
第二个意思:取反

<?php
				$a=1;
				-$a;
?>

输出结果:
-1
取反并不会影响到被取反变量本身的值!
3. *
例如:

<?php
			&a=1;
			&b=2;
			$c=$a*$b;
			echo $c;
?>

输出结果:
2
4. /
例如:

<?php
		$a=10;
		$b=2;
		echo $a/$b;
?>

输出结果:
5

5.%
取模(取余)
例如:

<?php
		$a=10;
		$b=3;
		echo $a%$b;
		?>

输出结果:

1

6.++
自增
例如:

<?php
			$a=1;
			++$a;
			echo $a;
?>

输出结果:

2

如果 ++在变量之后
例如:

<?php
			$a=1;
			echo $a++;
		?>

输出结果:

1

7.-- 自减
例如:

<?php
			$a=10;
			$a--;
			echo $a;
?>

输出结果:

9
<?php
			$a=10;
			echo $a--;
?>

输出结果:

10

注意:自增自减是对变量来说的!

字符串运算符
1 . 连接运算符
例如:

<?php
				$a='i';
				$b='is';
				$c='hacker';
				echo $a.$b.$c;
?>

输出结果:

iamhacker

2 = 赋值运算符

注意:赋值运算符整个语句是有值的,所以整个语句就是一个表达式,所以我们也可以怎么写:

$a=$b=2;相当于$a=($b=2)

把右边的值赋给左边的变量

二元运算符

+=运算符

例如:

<?php
				$a=1;
				$b=2;
				$a+=$b;
				echo $a;
?>

输出结果:

3

-=运算符

<?php
				$a=2;
				$b=1;
				$a-=$b;
				echo $a;
			?>

输出结果:

1

除此之外,赋值运算符还有

*=
/=
%=
.=

比较运算符

PHP中规定:
使用echo输出布尔类型值的时候
echo true;它在页面中会输出1
echo false;它会在页面中什么都不输出
需要输出布尔类型值的时候最好使用var_dump()这个函数来输出
对操作数(按照比较运算符的要求,规则)进行比较
如果比较出的结果满足比较运算符的要求那么结果就是true(真,成立),否则就是false(假,不成立)

1.==
比较左右两边数的值是否相等
例如:

<?php
					$a=1;
					$b=1;
					var_dump($a==$b);
?>

输出结果:

bool(true)

2.===
全等(值要相等,类型也要相等)
例如:

<?php
					$a=11;
					$b='11';
					var_dump($a===$b);
				?>

输出结果:

bool(false) 

3.!=
比较值是否不相等
例如:

<?php
					$a=1;
					$b=11;
					var_dump($a!=$b);
?>

输出结果:

bool(true)

4.<> 比较值是否不相等
5.!==不全等
如果两边的操作数不全等那么就是true, 否则就是false

php会自动转化类型
例如:

<?php
				$a=11;
				$b='11';
				var_dump($a!=$b);
?>

输出结果:

bool(false) 
<?php
				$a=11;
				$b='11';
				var_dump($a!==$b);
			?>

输出结果:

bool(true) 

因为类型不一样

6.< 小于
比较两边的操作数
例如:

<?php
					$a=1;
					$b=1;
					var_dump($a<$b);
				?>

输出结果:

bool(false) 
7.>  大于
8.	 <=   小于等于
9. 	>= 		大于等于

逻辑运算符

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

1.逻辑与

and 或者 &&

左右两边的表达式的值都为true时,运算结果为true。只要其中有一个false,结果就是false。
例如:

<?php
					$a=true;
					$b=true;
					var_dump( $a && $b);
				?>

输出结果:

bool(true)

短路问题:
语言规定:
只要有逻辑运算符(逻辑与、逻辑或)那么运算结果就是一个true或false
例如:

<?php
						$a=false;
						$b=1;
						$a && ++$b;
						echo $b;
					?>

输出结果:

1			

2.逻辑或

or 或者 ||

左右两边的表达式的值有一个为true,运算的结果就是true
,只有当两边的值都是false的时候,结果才会是false。

例如:

<?php
					$a=true;
					$b=false;
					var_dump($a || $b)
				?>

输出结果:

bool(true)

短路问题:

<?php
				$a=true;
				$b=1;
				&a || $ ++b;
				echo $b;
				?>

输出结果:

1

3.逻辑异或

xor

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

<?php
						$a=false;
						$b=true;
						var_dump($a xor $b);
					?>

输出结果:

bool(true)

4.逻辑非

运算规则:将原来的表达式的值否定掉,原来是true,那么结果就是false
例如:

<?php
					$a=false;
					var_dump(!$a);
				?>

输出结果:

bool(true) 

5.其他运算符
1.?:
三元运算符
格式: 表达式1?表达式2:表达式3:
如果表达式1的值为true,那么就执行表达式2,否则就执行表达式3
例如:

<?php
					$a=true ? 10 : 20;
					echo $a;
				?>

输出结果:

10

2.@
屏蔽表达式可能发送错误;在表达式前面加上@

6.运算符的优先级
优先级的概念:
谁的优先级别高,就先执行谁
结合方向
规定了从那个方向开始算的问题
优先级归纳:
1)[结合方向:无]递增递减
2)[右]逻辑非!
3)[左]乘,除,取余
4)[左]加,减,字符串连接符
5)[无]包含大于号或者小于号的比较运算符
6)[无]不包含大于号或者小于号的比较运算符
7)[左]逻辑与&&
8)[左]逻辑或||
9)[左]? :
10)[右]赋值运算符
12)[左 ]逻辑异或xor

园括号的作用:
用圆括号可以将表达式里面的某一块看成一个整体
例如:

<?php
					$a=(1+5)*3
					echo $a;
				?>

输出结果:

18

另外使用括号可以增强代码的可读性

流程控制【1】-if语句:
1.顺序执行
自上而下执行即可
对执行过程没有控制
2.分支执行
分支执行可以根据条件是否满足来选择某些代码,PHP的分支执行主要是通过两种语句(if\switch)来实现

1.if语句
1)单向条件
if(表达式) 语句;
表达式的值为true,那么就执行语句1,否则就不执行!
例如:

<?php
							$a=400;
							$b=40;
							if($a>$b) echo "1";
							echo "2";
						?>

输出结果:

12

流程控制【2】-switch语句:

switch(表达式){
								case1://case相当于==
									语句块1;
									break;
								case2:
									语句块2;
									break;
								.......
								default:
									语句块n
								}

循环语句:1.while语句

while(表达式){
									各种语句....
								}

2.do…while语句

do{
									各种语句
								}while(表达式);	

3.for语句

for(表达式a;表达式b;表达式c){
									各种语句
								}

特殊的流程控制语句
1.break语句
2.continue语句
3.exit()语句 作用:结束当前整个程序的执行!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值