php语法基础知识(php详细安装步骤)

只总结纪录自己学习的知识点,想要了解PHP自行搜索就行了。毕竟比较老的语言了,比较成熟了资料也比较多。
php语法基础知识(php详细安装步骤)

支持类型

语法和数据类型基本与流行的语言差别不是特别大,查看详情:PHP官方文档语言参考

在PHP中,支持10种原始数据类型。

四种标量类型

bool(布尔型)

int(整型)

float(浮点型,也称作 double)

string(字符串)

四种复合类型

array(数组)

object(对象)

callable(可调用)

iterable(可迭代)

最后是两种特殊类型

resource(资源)

NULL(无类型)

变量

普通变量

PHP 中的变量用一个$后面跟变量名来表示。变量名是区分大小写的。规范参考PSR-1、PSR-1、PSR-12

和其他强类型语言不一致的是普通变量不需要预定义,当然预定义是一个好的习惯。

和大部分语言一致,可以是用 & 引用复制

<?php //定义变量 $a = ‘xxx’; //输出变量 echo $a;//xxx //引用赋值 $b = ‘123’; $c = &$b; var_dump($b === $c); // true?>

系统预定义变量

PHP 提供了一套附加的预定数组,这些数组变量包含了来自 web 服务器(如果可用),运行环境,和用户输入的数据。这些数组非常特别,它们在全局范围内自动生效。

超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量

$GLOBALS — 引用全局作用域中可用的全部变量

$_SERVER — 服务器和执行环境信息

$_GET — HTTP GET 变量

$_POST — HTTP POST 变量

$_FILES — HTTP 文件上传变量

$_REQUEST — HTTP Request 变量

$_SESSION — Session 变量

$_ENV — 环境变量

$_COOKIE — HTTP Cookies

$php_errormsg — 前一个错误信息

$http_response_header — HTTP 响应头

$argc — 传递给脚本的参数数目

$argv — 传递给脚本的参数数组

常量

可以使用 const 关键字或 define() 函数两种方法来定义一个常量。

常量和变量有如下不同:

常量前面没有美元符号($);

常量可以不用理会变量的作用域而在任何地方定义和访问;

常量一旦定义就不能被重新定义或者取消定义;

常量只能计算标量值或数组。

系统预定义变量

常用的有

说明常量PHP版本PHP_VERSION运行PHP的操作系统PHP_OS当前平台中对于换行符的定义PHP_EOL当前 PHP 版本支持的最大整型数字PHP_INT_MAX当前 PHP 版本支持的最小整型数字PHP_INT_MIN致命的运行时错误。E_ERROR运行时警告 (非致命错误)。仅给出提示信息E_WARNING编译时语法解析错误E_PARSE表示脚本遇到可能会表现为错误的情况E_NOTICE运行时通知。未来版本中可能无法正常工作的代码给出警告。E_DEPRECATEDE_STRICT 除外的所有错误和警告信息。E_ALL真TRUE假FALSE特殊的 null 值表示一个变量没有值NULL运算符

运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。常见的 ,-,*,/,等和其他语音基本一致。不过要注意优先级问题,优先级最直接的办法是在想要的运算表达式加上括号()

运算符可按照其能接受几个值来分组。

一元运算符只能接受一个值,例如 !(逻辑取反运算符)或 (递增运算符)。

二元运算符可接受两个值,例如熟悉的算术运算符 (加)和 -(减),大多数 PHP 运算符都是这种。

最后是唯一的三元运算符 ? :,可接受三个值;通常就简单称之为“三元运算符”(尽管称之为条件运算符可能更合适)。

PHP运算符文档如下:

运算符优先级

算术运算符

赋值运算符

位运算符

比较运算符

错误控制运算符

执行运算符

递增/递减运算符

逻辑运算符

字符串运算符

数组运算符

类型运算符

流程控制

这个基本与其他语言无异,php也支持

if

else

elseif/else if

流程控制的替代语法

while

do-while

for

foreach

break

continue

switch

match

declare

return

require

include

require_once

include_once

goto

函数

PHP函数无处不在,用function定义。任何有效的 PHP 代码都有可能出现在函数内部,甚至包括其它函数和类 定义。

函数的参数

按值传递参数(默认)

通过引用传递参数

默认参数

可变长度参数列表,由 … 语法实现。

命名参数。

命名参数为PHP8新特性。命名参数允许根据参数名而不是参数位置向函数传参。这使得参数的含义自成体系,参数与顺序无关,并允许任意跳过默认值。

<?php// 使用顺序传递参数:array_fill(0, 100, 50);// 使用命名参数:array_fill(start_index: 0, count: 100, value: 50);?>

函数返回值

值通过使用可选的返回语句返回。可以返回包括数组和对象的任意类型。返回语句会立即中止函数的运行,并且将控制权交回调用该函数的代码行。返回使用 return 函数。如果省略了 return,则返回值为 null。

可变函数PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。

<?phpclass Foo{ function Variable() { $name = ‘Bar’; $this->$name(); // This calls the Bar() method } function Bar() { echo “This is Bar”; }}$foo = new Foo();$funcname = “Variable”;$foo->$funcname(); // This calls $foo->Variable()?>

匿名函数匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。

<?php$greet = function($name){ printf(“Hello %s\r\n”, $name);};$greet(‘World’);$greet(‘PHP’);?>

箭头函数

箭头函数是 PHP 7.4 的新语法,是一种更简洁的 匿名函数 写法。匿名函数和箭头函数都是 Closure 类的实现。

箭头函数的基本语法为: fn (argument_list) => expr。

<?php$y = 1;$fn1 = fn($x) => $x $y;// 相当于 using $y by value:$fn2 = function ($x) use ($y) { return $x $y;};var_export($fn1(3));// 箭头函数自动捕捉变量的值,即使在嵌套的情况下$z = 1;$fn = fn($x) => fn($y) => $x * $y $z;// 输出 51var_export($fn(5)(10));?>

发表评论

登录后才能评论