目录
前言
一、基础语法
1.1 标记
1.2 输出语句
1.2.1 echo
1.2.2 print
1.3 注释
1.3.1 单行注释
1.3.2 多行注释
1.4 标识符
1.5 关键字
二、数据与运算
2.1 常量
2.1.1 常量的定义和使用
2.1.2 预定义常量
2.2 变量
2.2.1 变量的赋值
2.2.2 超全局变量
2.3 数据类型
2.3.1 标量数据类型
2.3.2 特殊数据类型
2.3.3 数据类型检测
2.3.4 数据类型转换
2.4 运算符及优先级
2.4.1 运算符
2.4.2 优先级
总结
🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。
💡本文由Filotimo__✍️原创,首发于CSDN📚。
📣如需转载,请事先与我联系以获得授权⚠️。
🎁欢迎大家给我点赞👍、收藏⭐️,并在留言区📝与我互动,这些都是我前进的动力!
🌟我的格言:森林草木都有自己认为对的角度🌟。
本篇文章通过介绍PHP的基础语法,数据与运算,来让你了解PHP的魅力。
这是本篇文章的脉络图:
例如:
使用双斜线(//)来注释单行代码。注释符号后面的内容将被视为注释,不会被解释器执行。
例如:
使用斜线加星号(/*... */)来注释多行代码。注释符号之间的内容将被视为注释,不会被解释器执行。
例如:
1. echo:用于在屏幕上输出文本或变量的值。
2. if、else、elseif:用于条件语句,根据指定条件执行不同的代码块。
3. for、while、do-while:用于循环结构,重复执行一段代码块。
4. switch、case:用于多重条件判断,根据不同情况执行不同的代码块。
5. break:用于退出循环或switch语句。
6. continue:用于跳过当前循环的剩余代码,继续下一轮循环。
7. function:用于定义和声明一个函数。
8. class、interface、trait、extends、implements:用于面向对象编程,定义类、接口和特性,实现类之间的继承和接口的实现。
9. public、protected、private:用于定义类的成员属性或方法的访问级别。
10. static:用于定义静态属性和方法,可以在不创建类的实例的情况下访问。
11. final:用于防止类被继承或方法被覆盖。
12. abstract:用于声明抽象类或方法,不能直接实例化。
13. namespace:用于声明命名空间,避免类名冲突。
14. use:用于导入其他命名空间的类或函数。
在PHP中,可以使用`define()`函数来定义常量。常量是无法被改变的值,在定义后不能再次进行修改。常量的定义方式有两种:
1. 使用 `define()` 函数定义常量:
define ('PAI', '3.14'); echo 'PI =', PAI; / / Output result: PI =3.14 define ('R', '5', true); echo 'radius =', R; / / Output result: Radius =5 echo 'radius =', r; / / Output result: Radius =5首个参数定义常量的名称,第二个参数定义常量的值,可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。 如果设置为 TRUE ,该常量则大小写不敏感。默认是大小写敏感的。常量定义后,可以在任何地方使用,不需要加`$`符号,直接使用常量名称即可。
2. 使用`const`关键字定义常量(PHP 5.3+):
const R = 6; const P = 2 * R; echo 'P=', P; // 输出结果:P=12
无论使用哪种方式定义常量,都无法在定义后再次修改常量的值。另外,常量的作用域是全局的,可以在任何地方访问,包括函数内部。
PHP中有许多预定义常量,它们是由PHP提供的全局常量。这些常量可以在任何地方直接使用,无需进行定义或声明。以下是一些常用的预定义常量及其解释:
这些预定义常量可以帮助我们获取有关代码和环境信息,方便进行调试和编程。可以通过直接在代码中使用它们来获取相应的值。示例:
echo __FILE__; // 输出当前文件的完整路径和文件名 echo __DIR__; // 输出当前文件所在的目录的绝对路径 echo __LINE__; // 输出当前代码行号 function myFunction() { echo __FUNCTION__; // 输出当前所在函数的函数名 echo __CLASS__; // 输出当前所在类的类名 echo __METHOD__; // 输出当前所在方法的方法名 } echo PHP_VERSION; // 输出当前PHP版本号 echo PHP_OS; // 输出运行PHP的操作系统
在PHP中,变量赋值是将一个值保存到变量中的过程。PHP是一种动态类型的语言,因此在赋值时无需事先声明变量的数据类型。以下是关于PHP变量赋值的三种方式:
1. 传值赋值:
$variable_name = value;
这是最常见的赋值语法,通过=操作符将一个值赋给变量。$variable_name是变量名,value是要赋给变量的值。
示例:
$name = "John"; // 将字符串 "John" 赋给变量 $name $age = 25; // 将数字 25 赋给变量 $age $is_active = true; // 将布尔值 true 赋给变量 $is_active
2. 引用赋值:
在PHP中,通过引用赋值可以使用多个变量引用同一个值。
$variable_name = &$reference_variable;
`&$reference_variable`表示一个引用变量,它与其他变量共享相同的内存空间,即对其中一个变量的修改会影响其他引用变量。
示例:
$a = 10; $b = &$a; // 将 $a 的引用赋给 $b $b = 20; // 修改 $b 的值也会影响 $a echo $a; // 输出 20两种实现方式的区别:传值赋值方式当一个变量值发生改变时,不影响另一个变量;而引用赋值的方式,另一个变量会随之变化。
在PHP中,超全局变量(superglobal variables)是一类预定义的全局变量,它们在脚本的任何地方都可以直接访问,无需额外的声明或引用。这些超全局变量在整个脚本中都是可用的,无论是在函数、类、循环还是条件语句中。
以下是PHP中最常用的超全局变量:
1. `$_GET`:用于获取通过 URL 查询字符串传递的参数。它是一个关联数组,其中的键是参数名,值是参数的值。
示例:
// URL: example.com?name=John&age=25 echo $_GET['name']; // 输出 "John" echo $_GET['age']; // 输出 "25"
2. `$_POST`:用于获取通过 HTTP POST 方法提交的表单数据。它也是一个关联数组,其中的键是表单字段名,值是字段的值。
示例:
// 表单中的字段: 和 echo $_POST['name']; // 输出提交的 name 字段的值 echo $_POST['age']; // 输出提交的 age 字段的值
3. `$_REQUEST`:用于获取通过 HTTP GET 或 POST 方法提交的参数和表单数据。它是`$_GET`和`$_POST`的合并。
4. `$_COOKIE`:用于获取客户端提交的 Cookie 值。它是一个关联数组,其中的键是 Cookie 名称,值是 Cookie 的值。
示例:
echo $_COOKIE['username']; // 输出名为 username 的 Cookie 值
5. `$_SESSION`:用于访问当前会话的 session 数据。它是一个关联数组,用于在不同页面之间存储和读取会话信息。
示例:
session_start(); $_SESSION['username'] = 'John'; // 设置 session 变量 echo $_SESSION['username']; // 输出 'John'
6. `$_SERVER`:包含了有关服务器和执行环境的信息,例如请求的方法、请求的 URL、服务器的主机名等。它是一个关联数组。
示例:
echo $_SERVER['REQUEST_METHOD']; // 输出请求的方法(GET、POST、PUT等) echo $_SERVER['SERVER_NAME']; // 输出服务器的主机名
1.布尔型
布尔型是PHP中较常用的数据类型之一,通常用于逻辑判断。 表示事物的“真”和“假”,并且不区分大小写。
示例:$isTrue = true; $isFalse = false;
2.整型
整型可以由十进制、八进制和十六进制数指定,用来表示整数。 (1) 在它前面加上“-”符号,可以表示负数。 (2)八进制数使用0~7表示,前缀为0。 (3) 十六进制数使用0~9与A~F表示,以0x为前缀。 3.浮点型 概念 :浮点数是程序中表示小数的一种方法,或是指数形式。 表示方式 :通常使用标准格式和科学计数法格式表示。 4.字符串型 概念:字符串是由连续的字母、数字或字符组成的字符序列。 表示方式:分别为单引号、双引号、heredoc语法结构和nowdoc 语法结构。 示例:'; echo "$number=",$number; ?>
注意:单引号输出字符串,双引号里面可以解析变量。
上述例子运行结果如下:
1.自动类型转换
指的是当运算需要或与期望的结果类型不匹配时,PHP将自动进行类型转换,无需开发人员做任何操作。
分类:最常见的有3种,分别为转换成布尔型、转换成整型和转换成字符串型。2.强制类型转换
所谓强制类型转换,就是在编写程序时手动转换数据类型,在要转换的数据或变量之前加上“(目标类型)”即可。 例如:var_dump((int) "6.66");
算术运算符:
赋值运算符:
比较运算符:
逻辑运算符:
字符串运算符:
自增/自减运算符:
数组运算符:
运算符的优先级决定了它们在表达式中的结合性和执行顺序。如果有多个运算符同时出现,优先级高的运算符会先于优先级低的运算符进行计算。可以使用括号 () 来改变运算符的优先级和强制先执行某些部分。
例如:先乘除,后加减。 补充:圆括号()优先级别最高。例如, 5 + 6 * 7的输出结果为47,(5 + 6) * 7的输出结果为77。以下是运算符的优先级(从高到低):
一元运算符:
一元运算符包括前置递增/递减运算符 ++$x、--$x 和取反、正数运算符 -$x、+$x。它们具有最高的优先级,会先于其他运算符进行计算。
乘性运算符:
乘性运算符包括乘法 *、除法 / 和取模 %,以及字符串连接运算符 .。它们的优先级高于加性运算符,但低于一元运算符。乘性运算符按照从左到右的顺序进行计算。
加性运算符:
加性运算符包括加法 + 和减法 -,以及字符串连接运算符 .。它们的优先级低于乘性运算符,但高于位移运算符。加性运算符按照从左到右的顺序进行计算。
位移运算符:
位移运算符包括左移 << 和右移 >>。它们的优先级低于加性运算符,但高于比较运算符。
比较运算符:
比较运算符包括小于 <、小于等于 <=、大于 >、大于等于 >=,以及等于 ==、不等于 !=、全等 ===、不全等 !==。比较运算符的优先级低于位移运算符,但高于位运算符和逻辑运算符。
位运算符:
位运算符包括按位与 &、按位异或 ^、按位或 |。它们的优先级低于比较运算符,但高于逻辑运算符。
逻辑运算符:
逻辑运算符包括逻辑与 &&、逻辑或 ||,以及逻辑异或 ^ 和逻辑非 !。逻辑运算符的优先级低于位运算符,但高于条件运算符。
三元条件运算符:
三元条件运算符 expr1 ? expr2 : expr3 用于根据条件选择表达式的值。它的优先级低于逻辑运算符,但高于赋值运算符。
赋值运算符:
赋值运算符用于给变量赋值,如 =、+=、-=、*=、/=、%=、.= 等。赋值运算符具有最低的优先级。
PHP在当今世界仍然是一门流行和重要的服务器端脚本语言。它具有广泛的应用领域、强大的生态系统和不断发展的特点,为Web开发提供了可靠和灵活的解决方案。随着技术的进步和改进,PHP有望继续保持其在Web开发领域的重要地位。