PHP脚本语言之基础语法总结
发布于 2021-05-13 00:01 ,所属分类:区块连和PHP开发学习资料
PHP是一种在服务器端执行的可以嵌入HTML文档的脚本语言,PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。在性能上,PHP比CGI或者Perl更快速地执行动态网页,以下将分享PHP的基础知识。
基本语法
#PHP脚本写法
<?php
//PHP代码
?>
#PHP文件相关
默认文件扩展名是".php"。
文件通常包含 HTML 标签和一些 PHP 脚本代码。
每个代码行都必须以分号结束
#PHP输出方式
echo可以输出一个或多个字符串
print只允许输出一个字符串,返回值总为1
echo输出的速度比print快
var_dump()函数返回变量的数据类型和值
#PHP注释
//这是PHP单行注释
#这也是PHP单行注释
/*
这是PHP的
多行注释
*/
PHP 变量
#基本概念
变量是用于存储信息的"容器"
与代数类似:z=x+y x或y改变,z就会改变
php是弱语言,会根据存储信息的数据类型自动把变量转换为相应的数据类型
#PHP变量规则
变量以$符号开始,后面跟着变量的名称
变量名必须以字母或者下划线字符开始
变量名只能包含字母数字字符以及下划线(A-z、0-9和_)
变量名不能包含空格
变量名是区分大小写的($z和$Z是两个不同的变量)
#创建(声明)PHP变量
PHP没有声明变量的命令
变量在第一次赋值给它的时候被创建
#变量作用域:脚本中变量的使用范围
#local作用域
在所有函数外部定义的变量,拥有全局作用域
在该函数内部定义的变量,拥有局部作用域,
#global作用域
global关键字放在变量前面,用于函数内访问全局变量
或$GLOBALS[变量],也可以用于函数内访问全局变量
#static作用域
当一个函数完成时,它的所有变量通常都会被删除
static关键字放在变量前面,即把变量存在内存中,可以免于被删除
#parameter(参数)作用域
参数是通过调用函数时将值传递给函数的局部变量
#超级全局变量
$_GET–>get传送方式
$_POST–>post传送方式
$_REQUEST–>可以接收到get和post两种方式的值
$GLOBALS–>引用全局作用域中可用的全部变量
$_FILES–>上传文件使用
$_SERVER–>系统环境变量
$_SESSION–>用于会话控制
$_COOKIE–>用于会话控制
$_ENV–>服务器端环境变量
数据类型
#String(字符串)
一个字符串是一串字符的序列,就像"Helloworld!"
可以将任何文本放在单引号和双引号中
#Integer(整型)
整数是一个没有小数的数字
整数可以是正数或负数
包括十进制,十六进制(以0x为前缀)或八进制(前缀为0)
必须至少有一个数字(0-9)
不能包含逗号或空格
#Float(浮点型)
浮点数是带小数部分的数字,或是指数形式
#Boolean(布尔型)
布尔型可以是TRUE或FALSE
布尔型通常用于条件判断
#Array(数组)
数组可以在一个变量中存储多个值
使用PHPvar_dump()函数返回数组的数据类型和值
#Object(对象)
对象可以用于存储多个数据。
使用class关键字声明类对象,类是可以包含属性和方法的结构
在类中定义数据类型,在实例化的类中使用数据类型
#NULL(空值)
NULL值表示变量没有值
NULL是数据类型为NULL的值
可通过设置变量值为NULL来清空变量数据
#数据类型比较
松散比较:使用两个等号==比较,只比较值,不比较类型,叫等于
严格比较:用三个等号===比较,除了比较值,也比较类型,叫全等
PHP常量
#基本概念
常量值被定义后,在脚本的其他任何地方都不能被改变
常量是一个简单值的标识符,该值在脚本中不能改变
常量在整个脚本中都可以使用
#PHP常量规则
一个常量由英文字母、下划线、和数字组成
但数字不能作为首字母出现
常量名不需要加$修饰符
#设置PHP常量
booldefine(string$name,mixed$value[,bool$case_insensitive=false])
name:必选参数,常量名称,即标志符
value:必选参数,常量的值
case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感
默认是大小写敏感的
#魔术常量(预定义常量)
__LINE__文件中的当前行号
__FILE__文件的完整路径和文件名
__DIR__文件所在的目录
__FUNCTION__函数名称
__CLASS__类的名称
__TRAIT__Trait的名字
__METHOD__类的方法名
__NAMESPACE__当前命名空间的名称(区分大小写)
字符串
#字符串变量
字符串变量用于存储并处理文本
单引号的字符串不能识别变量和转义字符
双引号的字符串可以识别变量和转义字符
#并置运算符
并置运算符(.)用于把两个字符串值连接起来
#EOF(heredoc)字符串块,可以放入任何符号,不需要转义
#同单引号效果
echo<<<'EOF'
<h1>我的第一个标题</h1>
<p>我的第一个段落。</p>
EOF;
//结束需要独立一行且前后不能空格
#同双引号效果
#变量不需要用连接符.或,来拼接
echo<<<"EOF"
<h1>我的第一个标题</h1>
<p>我的第一个段落。</p>
EOF;
//结束需要独立一行且前后不能空格
运算符
#算术运算符
x+y加
x-y减
x*y乘
x/y除
x%y模(除法的余数)
-x取反
a.b并置
intdiv(x,y)除,向下取整
#赋值运算符
x=y等同于x=y等号赋值
x+=y等同于x=x+y加
x-=y等同于x=x-y减
x*=y等同于x=x*y乘
x/=y等同于x=x/y除
x%=y等同于x=x%y模(除法的余数)
a.=b等同于a=a.b连接两个字符串
#递增/递减运算符
++x预递增,x加1,然后返回x
x++后递增,返回x,然后x加1
--x预递减,x减1,然后返回x
x--后递减,返回x,然后x减1
#比较运算符
x==y等于
x===y绝对等于
x!=y不等于
x<>y不等于
x!==y绝对不等于
x>y大于
x<y小于
x>=y大于等于
x<=y小于等于
#逻辑运算符
xandy与一错全错
xory或一对全对
xxory异或一对才对
x&&y与一错全错
x||y或一对全对
!x非
#数组运算符
x+y集合,x和y的集合
x==y相等,如果x和y具有相同的键/值对,则返回true
x===y恒等,如果x和y具有相同的键/值对,且顺序相同类型相同,则返回true
x!=y不相等,如果x不等于y,则返回true
x<>y不相等,如果x不等于y,则返回true
x!==y不恒等,如果x不等于y,则返回true
#三元运算符
(expr1)?(expr2):(expr3)expr1成立则返回expr2的值
(expr1)??(expr2)expr1成立则返回expr1的值
#组合比较符
$c=$a<=>$b;
如果$a>$b,则$c的值为1
如果$a==$b,则$c的值为0
如果$a<$b,则$c的值为-1
#运算符比较
括号内部优先,可增加可读性
流程控制
#if条件语句用于根据不同条件执行不同动作
#elseif语句和else语句可选,有elseif语句必须有else语句
if(条件)
{
//if条件成立时执行的代码;
}
elseif(条件)
{
//elseif条件成立时执行的代码;
}
else
{
//条件不成立时执行的代码;
}
#switch条件语句用于根据多个不同条件执行不同动作
switch(n)
{
caselabel1:
//如果n=label1,此处代码将执行;
break;
caselabel2:
//如果n=label2,此处代码将执行;
break;
default:
//如果n既不等于label1也不等于label2,此处代码将执行;
}
#while循环将重复执行代码块,直到指定的条件不成立
while(条件)
{
要执行的代码;
}
#do...while语句会至少执行一次代码
#然后检查条件,只要条件成立,就会重复进行循环
do
{
要执行的代码;
}
while(条件);
#for循环用于预先知道脚本需要运行的次数的情况
for(初始值;条件;增量)
{
要执行的代码;
}
#foreach循环用于遍历数组
foreach($arrayas$key=>$value)
{
要执行代码;
}
自定义函数
#函数语法
functionfunctionName([参数...])
{
//要执行的代码
//返回值
return$res;
}
//调用函数[]意为可选
functionName([参数...]);
#函数准则
函数的名称应该提示出它的功能
函数名称以字母或下划线开头(不能以数字开头)
PHP数组
#数组类型
数值数组-带有数字ID键的数组
关联数组-带有指定的键的数组,每个键关联一个值
多维数组-包含一个或多个数组的数组
#创建数组
#自动分配ID键(ID键总是从0开始)
$cars=array("Volvo","BMW","Toyota");
$cars=["Volvo","BMW","Toyota"];
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
$age=["Peter"=>"35","Ben"=>"37","Joe"=>"43"];
#人工分配ID键
$cars[0]="Volvo";
$cars[1]="BMW";
$age['Ben']="37";
$age['Joe']="43";
#二维数组
$cars=array
(
array("Volvo",100,96),
);
#多维数组
array
(
"google"=>array
(
"Google搜索",
"http://www.google.com"
),
"taobao"=>array
(
"淘宝",
"http://www.taobao.com"
)
);
本文首发于gongzhong号《计算机程序》,一个专注于项目和技术分享的gongzhong号!项目源码领取:gongzhong号后台回复 1024
相关资源