PHP第一章笔记-基本语法

一、变量
变量是用于临时(只有在我们的程序的执行过程中才存在)存储值(数据)的容器
1.变量的声明
声明:就是实现告知,通知!
在使用变量之前要事先通知,事先声明一下!
注意:在PHP程序里面,使用变量之前是不需要声明的!

变量用于存储数字、文本字符串或者数组这些数据!

$变量名=数据(值)
=在数学里是’等于’的意思,在PHP程序语言里面,不是等于号,是’赋值操作符’

2.变量的销毁

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

3.变量的命名规则

1)变量名称严格区分大写
$name,$NAME,$Name都是不同的变量
2)字母或者下划线开头
后面接任意数量的字母数字下划线都可以!
错误的命名方式:
$1name 错误点:以数字开头
$n ame 错误的:中间有空白字符
总结:变量名只能包含 字母 数字 下划线 并且必须以字母或者下划线开头!
最好不要用一些关键字作为变量名称(因为在其他的编程语言里面是完全不被允许的)

4.可变变量

//可变变量
$abc='test';//定义了一个变量$abc里面存了值test
$$abc='测试';//$test='测试';
echo $test;

5.变量的引用赋值

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

二、变量类型
概述:变量类型是指保存在该变量中的数据类型
PHP对变量类型看的比较淡,属于弱类型语言

1.变量类型简介

1)bool(布尔型)
$a=true;
var_dump($a);
往变量里面存true或者false,那么这个变量就是布尔型

以下值被认为是false,其他的值都是被认为是true
①布尔值false
②0
③浮点型0.0
④空白字符串和字符串0//空白字符串指的是直接一对单引号或者双引号里面没有任何内容
⑤没有成员的数组
⑥NULL

2)int(整型)

往变量里面存整数,那么这个变量就是整型变量

3)float(浮点型,也称double)

往变量里面存小数,那么这个变量就是浮点型数据
$a=1.1;
var_dump($a);

4)string(字符串)

字符串就是一系列的字符组成串在一起
1.单引号:
$b=1;
$a='test$bgewtwe\'agewe';
var_dump($a);
echo $a;
在定义一些简单的字符串的时候使用单引号这种方法效率比较高
2.双引号
$b=100;
$a='test$btwew...';
$a="test{$b}ewtt...";
var_dump($a);
echo $a;
3.定界符
$b=2000;
$a=<<<abc
twyerrrrrrf
abc;
var_dump($a);

5)array(数组)
6)object(对象)
7)resource(资源)
8)NULL

null表示一个变量没有值,表示空
将变量直接赋值为null
声明的变量尚未被赋值
被unset函数销毁的变量
$a=111;
unset($a);
var_dump($a);
变量类型相互转换
强制转换:
$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内核已经定义好了的常量
其中有的预定义常量是以__开头的,这些预定义常量又叫魔术常量
代码所在的位置不同值也不同,所以叫魔术常量
八个常用的魔术常量
http://php.net/manual/zh/language.constants.predefined.php
预定义常量是不区分大小写的

四、运算符

概述:
运算符就是一些符号,这些符号可以将变量或者数据执行其中某种运算
1.算术运算符

1)+
$a=1;
$b=2;
$c=$a+$b;
echo $c;
2)-
第一个意思:减号
$a=10;
$b=2;
$c=$a-$b;
echo $c;
第二个意思:取反
$a=1;
$b=-$a;
echo $b;//-1
echo '<br/>';
echo $a;//1
注意:取反并不会影响到被取反变量本身的值
3)*乘号
$a=4;
$b=2;
$c=$a*$b;
echo $c;
4)/除号
$a=10;
$b=2;
$c=$a/$b;
echo $c;
5)%取模
$a=12;
$b=2;
echo $a%$b;
6)++自增
前++
当在一个语句里面需要使用到被自增的变量的值的时候,前++会先执行自增,然后再返回自增之后的值
$a=10;
echo ++$a;//11
后++
当在一个语句里面需要使用到被自增的变量的值的时候,后++会先返回变量的值然后再去执行自增
$a=10;
//++$a;//$a=$a+1;
//$a++;//$a=$a+1;
echo $a++;//echo $a;$a=$a+1;
echo '<br/>';
echo $a;//11
注意:取反并不会影响到被取反变量本身的值$a=10;
++$a;//这种情况不需要用到自增变量值得时候,和后++无区别
echo $a;
7)--自减
前--
$a=10;
//$a--;//$a=$a-1;和--$a没区别
echo --$a;//$a=$a-1;echo $a;
echo '<br/>';
echo $a;
后--
$a=10;
//$a--;//$a=$a-1;和--$a没区别;
echo $a--;//echo $a;$a=$a-1;
echo '<br/>';
echo $a;
注意:自增或者自减是对变量而言

2.字符串运算符

. 连接运算符
$a='测试';
$b='测试字符串连接符';
echo $a.$b;

3.赋值运算符

	注意:
		赋值运算符整个语句是有值的,所以整个语句就是一个表达式,所以我们也可以这么写
			$a=$b=2;相当于$a=($b=2);也相当于$a=2,$b=2;
=
	把右边的值赋给左边的变量
	$a=1;
	二元运算符
	表达式是PHP最重要的基石,在PHP中,几乎所写的任何东西都是一个表达式。简单但却最精确的定义一个表达式的方式就是"任何有值的东西"
+=
	$a=1;
	$b=2;
	$a+=$b;//$a=$a+$b;
	echo $a;

4.比较运算符

概念:
对操作数(按照比较运算符的要求,规则)进行比较
	如果比较出的结果满足比较运算符的要求,那么结果就是true(真,成立,满足),否则就是false(假,不成立,不满足)
	PHP中规定:
		使用echo输出布尔类型值得时候
			echo  true;它在页面中会输出1
			echo false;它在页面中什么都不输出
			规定的,记住就好。在测试过程中如果需要输出布尔类型值得时候最好使用var_dump()来输出更精确的结果
			
		1)==值是否相等
			如果值相等则就是true(真,成立)
			如果值不相等那么就是false(假,不成立)
			$a=1;
			$b=1;
			var_dump($a==$b);//true
		2)===全等(值要相等,类型也要相等)
			如果两边操作数的值全等那么就是true否则就是false
			$a=11;
			$b='11';
			//var_dump($a===$b);//true
			var_dump($a===$b);//false
		3)!=值是否不相等
		如果两边操作数的值不相等那么就是true,否则就是false
		$a=1;
		$b=11;
		var_dump($a!=$b);//true
		4)<>同上
		5)!==不全等
			如果两边的操作数不全等那么就是true,否则就是false
			/*
			$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)<小于
		比较两边操作数,前面的
		$a=1;
		$b=1;
		var_dump($a<$b);//false,$a小于 $b这句话正确还是错误
		7)大于
		$a=10;
		$b=1;
		var_dump($a>b);
		8)<=小于等于
		$a=1;
		$b=1;
		var_dump($a<=$b);
		//$a小于等于$b就是true,否则就是false
		9)>=大于等于
		$a=1;
		$b=1;
		var_dump($a>=$b);
		//$大于等于$b就是true,否则就是false
	```	

**5.逻辑运算符**
	
		概念:
			对表达式进行逻辑运算,运算出的结果是布尔类型的值(true,false)
			要求:
				参与逻辑运算的表达式的值是布尔类型的值,如果布尔类型的值会被自动转换成布尔类型的值,然后再参与运算!
		1)逻辑与
			and或&&
			左右两边的表达式的值都为true的时候,运算的结果就是true
			否则只要其中任意一个为false,运算的结果就是false;
			现实举例:
				true 及格
				false 不及格
				左右两边的表达式就是我们要考试的科目;
				要求:当语文和数学都及格的时候,那么最终的结果才能通过(true),否则就是不通过(false)
			$a=false;//语文
			$b=true;//数学
			var_dump($a && $b);
			
			中间隐含一个问题:"短路",运算符的优先级的问题!
			我们的程序语言的设计者认为:
				只要有逻辑运算符(逻辑与,逻辑或)那么运算结果就是一个true或者false
				那么这整个运行的过程就不重要了!
				当然短路问题并不会遇到太多,就算遇到也不会有什么影响!
				
		2)逻辑或
			or或者||
				左右两边的表达式的值都为true的时候,运算的结果就是true,只有
				当两边的值都是false的时候,结果才会是false
			$a=false;//语文
			$b=true;//数学
			var_dump($a || $b);
			现实举例:
			要求:当语文和数学有一门及格那么最终的结果就是通过true
			中间隐含一个问题:"短路",运算符的优先级的问题!
			
			我们的程序语言的设计者认为:
				只要有逻辑运算符(逻辑与,逻辑或)那么运算结果就是一个true或者false
				那么这整个运行的过程就不重要了!
				当然短路问题并不会遇到太多,就算遇到也不会有什么影响!
		3)逻辑异或
			xor
				运算规则:
					左右两边的表达式的值不一样的时候结果就是true,如果一样那么运算的结果就是false
				$a=false;//语文
				$b=true;//数学
				var_dump($a xor $b);
		4)逻辑非
			!
				运算规则:	
					将原来表达式的值否定掉,原来是true,那么结果就是false
						原来是false,那么结果就是true
						
	6.位运算符
	7.其他运算符
		1)?:
			三元运算
			格式:
				表达式1?表达式2:表达式3;
				如果表达式1的值为true,那么就执行表达式2,否则就执行表达式3
				$a=false?10:20;
				echo $a;//20
		2)``
			可以把系统的命令放在里面执行!
			涉及到跨平台:
				$a=`ipconfig`;
				$b=`ifconfig`;
				var_dump($b);
		3)@
			屏蔽表达式可能发生错误!
			echo @$a;
		4)=>	
		5)->
		6)instanceof
	8.运算符的优先级
		优先级的概念:
			谁的优先级别高就先算谁!
		结合方向:
			规定了从哪个方向开始算的问题!
		优先级这个概念只要知道一些基本的常用的就可以了,因为在我们实际开发中几乎没有那么需要写非常复杂的表达式,
		让我们去考虑先算谁,后算谁的问题!
		
		优先级归纳:
			1)[无]递增递减
			2)[右]逻辑非!
			3)[左]乘,除,取余
			4)[左]加,减,字符串连接符
			5)[无]包含大于号或者小于号的比较运算符
			6)[无]不包含大于号或者小于号的比较运算符
			7)[左]逻辑与&&
			8)[左]逻辑或||
			9)[左]?:
			10)[右]赋值运算符
			11)[左]逻辑异或xor
		圆括号的作用:
			用圆括号可以将表达式里面的某一块看成一个整体!
		*使用括号可以增强代码的可读性
			哪怕有的地方不需要加括号,你也可以加上以便增加可读性
			
		
			
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值