PHP学习之基本语法
语法就是PHP官方规定的一系列使用PHP的规则
一.初识PHP脚本程序
1.PHP开始与结束标记
<?php//开始标记
?>//结束标记
在开始与结束之外的内容都会被忽略,且所写的PHP代码可以嵌入html代码中
注:文件末尾的结束标记可以不要,但只能是末尾的
2.指令分隔符:分号(;)
PHP语句在结尾出要加分号,表示这一句代码的结束,然后才可以写下一句代码
注:结束标记>?
就包含一个分号,不用加分号
3.注释
注释:对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。
注释分为单行注释和多行注释:
/*这是多行注释
由上下星号和斜杠表示*/
//这是单行注释,由两个斜杠表示
4.空白处理
空白符包括:空格、tab制表符、换行注:是英文输入法下输入的,中文输入会包错
,这些在PHP中无关紧要,但合理的运用可以增加代码的可读性和清晰性,如果运用不当反而会对阅读产生负担
二、变量
变量:用于临时存储值的容器,一段有点用代码都会用到变量
PHP脚本语言是一种弱类型的语言,和其他语言不用的是变量或常量的数据型由程序决定
1.变量的赋值
PHP中变量定义时是用一个美元符合$
加变量名来表示,赋值时用赋值符=
给一个变量赋值
其中:赋值符=
在数学里是等于的意思,在程序语言中不是等于,而是赋值
<?php
$name=10;//定义一个名为name的变量且把10赋值给name
echo $name;//输出变量$name的内容
?>
注:其他编程语言是使用变量前要声明一下,PHP是不需要声明的
2.变量的销毁
unset($变量名);
使用这个函数变量就被销毁了
unset($name);//销毁$name变量
echo $name;//这句话会报错,因为已经把变量name销毁了
3.变量命名的规则
变量名字都是区分大小写的
$name,$NAME,$Name//3个不同的变量
定义变量时,$后的名字必须使用字母和下划线开头,后面接任意数量的数字,字母和下划线
如:
$name,$_name,$a1,$_1//不会报错
$1name//报错
注:PHP中有一些标示符是系统定义的,也称为关键字,是PHP语言的组成部分,因此不能使用它们中的任何一个作为常量函数名或类名。但是和其他语言不同的是可以在PH中作为变量名称使用,不过这样容易混淆,所以最好还是不要用PIP的关键字作为变量名秘见图片!
如:
$and,$if,$or
4.可变变量
了解即可,
$abc='def';//定义一个变量$abc里存了一个值为def
$$abc='gh';//等效于$def='gh';
echo $def;
输出结果是:gh
5.变量的引用
用于传递变量之间的内容
$a=1000;
$b=$a;//把变量a的值复制一遍给了变量b,且变量a的值不变
echo $b,$a;//输出结果都是1000
$b=&$a;//相当于给$b起了个别名为$a
三、变量类型
变量类型:指保存在该变量的数据类型,在计算机编程语言世界中每个数据都有它的类型
1.变量类型简介
使用var_dump(变量名)可以输出变量类型
$a=true;
var_dump($a);
输出结果为:
前面是变量类型,后面是变量的具体值
1)bool(布尔型)
最简单的类型,只有true和false,即真或假
以下情况被认为是false,其他都是true
布尔值false
0
浮点型0.0
空白字符串和字符(空白字符串指的是直接一对单引号或者双引号里面没有任何内容)
没有成员的数组
NULL
总结一下就是:非零即真
如:
$a1=true;
$a2=1.1
$a3=1;//以上输出都是true
$b1=false;
$b2=0.0;
$b3=0;//以上输出都是false
2)int(整型)
存储整数
如:
$a=1;
$b=2;
3)float(浮点型,也称double)
存储包含小数的数
如:
$a=1.1;
$b0.9;
4)string(字符串)
字符串是一系列的字符,可以用单引号、双引号、定界 符三种定义方法
单引号:一个简单的字符串最简单的方法是使用一对单引号''
括起来
注:单引号括起来的字符串中不能再包含单引号,如果实在要用单引号那么就需要用反斜杠(\)转义
注:单引号字符串中出现的变量不会被变量的值替代
如:
$a='yyds';
$b='yy\'ds';//不加反斜杠转义就会报错
$c='yy$ads';//不会输出变量$a中的值,而是直接输出:yy$ads
$d='永远滴神';
定义一些简单的字符串时使用单引号的效率比较高
双引号:双引号中出现的变量是可以被变量的值代替的
不过要在变量两边加上{}来表示这个变量
如:
$a=100;
$b='yy{$a}ds';//此时,输出就为:yy100ds
定界符:<<<之后提供一个标示符开始,然后是字符串的内容,最后是同样的标示符表示结束
注:不可以用其他的任何字符标示符的命名规则字母数字下划线,并且不能以数字开始,且出现的变量也是可以被变量的值代替的
如:
$a=100;
$b=<<<qwer
yy{$a}ds
qwer;//后面的必须与前面命名相同
5)array(数组)
数组是PHP中一种重要的符合数据类型
之前介绍的类型只能存入一个数据,而数组可以存放多个数据,并且可以存入任何类型的数据
如:
array("name"=>"sunshengli","sex"=>"男");
6)NULL
null表示一个变量没有值,表示空
将变量直接赋值为null、声明的变量尚未被赋值、被unset函数销毁的变量都是null
如:
$a;
$b=null;
$c=1;
unset($c);//都是unll
注:变量尚未被赋值、被unset函数销毁的变量如果输出则会警告,和报错不同的是,警告依然会执行代码
2.变量类型相互转换
1)自动类型转换
下图是自动类型转换的规律
2)强制类型转换
在要转换的变量之前加上括号括起来目标类型,但转变不会改变被转换变量本身的类型
如:
$a='yyds';
$b=(int)$a;
echo $b;//此时输出结果为:0,且变量a本身并没有被改变
四、常量
常量:用于临时(只有在我们的程序的运行过程中才存在)存储值(数据)的容器
定义:
define('常量名称',常量值)
或 define("常量名称",常量值)
注:常量定义时和变量一样,必须使用字母(常量的字母安装习惯总是大写)和下划线开头,后面接任意数量的数字,字母和下划线,自定义的常量也是严格区分大小写
如:
define('NAME','永远滴神');
与变量的区别:
常量前面没有美元符号($)
常量只能用define()函数定义,不能通过赋值语句
常量可以不用理会变量范围的规则而在任何地方定义和使用
常量一旦被定义就不能被重新定义或者取消定义
常量的值只能是bool,int,float,string类型
预定义常量:就是PHP内核已经帮我们定义好了的常量,其中有的预定常量是由两个下划线组成的,这些预定义常量称为魔术常量,代码所在位置不同,它的值也不同
八个常见的魔术常量见下图
注:预定义常量不区分大写的