目录
🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。
💡本文由Filotimo__✍️原创,首发于CSDN📚。
📣如需转载,请事先与我联系以获得授权⚠️。
🎁欢迎大家给我点赞👍、收藏⭐️,并在留言区📝与我互动,这些都是我前进的动力!
🌟我的格言:森林草木都有自己认为对的角度🌟。
本篇文章通过介绍PHP的基础语法,数据与运算,来让你了解PHP的魅力。
这是本篇文章的脉络图:
例如:
- var_dump("php","2");
- ?>
使用双斜线(//)来注释单行代码。注释符号后面的内容将被视为注释,不会被解释器执行。
例如:
-
- // 这是一个单行注释示例
- $variable = "Hello World";
- ?>
使用斜线加星号(/*... */)来注释多行代码。注释符号之间的内容将被视为注释,不会被解释器执行。
例如:
- /* 这是一个多行
- 注释示例 */
- $variable2 = "Hello World";
- ?>
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
2. 使用`const`关键字定义常量(PHP 5.3+):
- const R = 6;
- const P = 2 * R;
- echo 'P=', P; // 输出结果:P=12
无论使用哪种方式定义常量,都无法在定义后再次修改常量的值。另外,常量的作用域是全局的,可以在任何地方访问,包括函数内部。
PHP中有许多预定义常量,它们是由PHP提供的全局常量。这些常量可以在任何地方直接使用,无需进行定义或声明。以下是一些常用的预定义常量及其解释:
__FILE__
:当前执行的文件的完整路径和文件名。__DIR__
:当前执行的文件所在的目录的绝对路径。__LINE__
:当前代码行号。__FUNCTION__
:当前所在函数的函数名。__CLASS__
:当前所在类的类名。__METHOD__
:当前所在方法的方法名。__NAMESPACE__
:当前所在命名空间的命名空间名。PHP_VERSION
:当前PHP版本号。PHP_OS
:运行PHP的操作系统。PHP_EOL
:当前操作系统的换行符。这些预定义常量可以帮助我们获取有关代码和环境信息,方便进行调试和编程。可以通过直接在代码中使用它们来获取相应的值。示例:
- 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.整型
- $number = 100;
- echo 'number=',$number;
- echo '
'; - echo "$number=",$number;
- ?>
注意:单引号输出字符串,双引号里面可以解析变量。
上述例子运行结果如下:
- $x="Hello world!";
- $x=null;
- var_dump($x);
- ?>
1.自动类型转换
指的是当运算需要或与期望的结果类型不匹配时,PHP将自动进行类型转换,无需开发人员做任何操作。
2.强制类型转换
var_dump((int) "6.66");
算术运算符:
+
加法:对两个数进行相加。-
减法:从一个数中减去另一个数。*
乘法:将两个数相乘。/
除法:将一个数除以另一个数。%
取模:取得两个数相除后的余数。赋值运算符:
=
赋值:将右侧的值赋给左侧的变量。+=
加法赋值:将右侧的值加到左侧的变量上。-=
减法赋值:从左侧的变量中减去右侧的值。*=
乘法赋值:将左侧的变量乘以右侧的值并重新赋值给左侧的变量。/=
除法赋值:将左侧的变量除以右侧的值并重新赋值给左侧的变量。比较运算符:
==
等于:检查两个值是否相等。!=
不等于:检查两个值是否不相等。>
大于:检查左侧的值是否大于右侧的值。<
小于:检查左侧的值是否小于右侧的值。>=
大于等于:检查左侧的值是否大于或等于右侧的值。<=
小于等于:检查左侧的值是否小于或等于右侧的值。逻辑运算符:
&&
逻辑与:检查两个条件是否同时为真。||
逻辑或:检查两个条件是否至少有一个为真。!
逻辑非:对条件进行取反。字符串运算符:
.
连接:连接两个字符串。.=
连接赋值:将右侧的字符串连接到左侧的字符串上并重新赋值给左侧的字符串。自增/自减运算符:
++
自增:将变量的值加1。--
自减:将变量的值减1。数组运算符:
+
合并:将两个数组合并为一个新数组。==
相等:检查两个数组是否相等。===
全等:检查两个数组的键和值是否完全相同。运算符的优先级决定了它们在表达式中的结合性和执行顺序。如果有多个运算符同时出现,优先级高的运算符会先于优先级低的运算符进行计算。可以使用括号 ()
来改变运算符的优先级和强制先执行某些部分。
以下是运算符的优先级(从高到低):
一元运算符:
一元运算符包括前置递增/递减运算符 ++$x
、--$x
和取反、正数运算符 -$x
、+$x
。它们具有最高的优先级,会先于其他运算符进行计算。
乘性运算符:
乘性运算符包括乘法 *
、除法 /
和取模 %
,以及字符串连接运算符 .
。它们的优先级高于加性运算符,但低于一元运算符。乘性运算符按照从左到右的顺序进行计算。
加性运算符:
加性运算符包括加法 +
和减法 -
,以及字符串连接运算符 .
。它们的优先级低于乘性运算符,但高于位移运算符。加性运算符按照从左到右的顺序进行计算。
位移运算符:
位移运算符包括左移 <<
和右移 >>
。它们的优先级低于加性运算符,但高于比较运算符。
比较运算符:
比较运算符包括小于 <
、小于等于 <=
、大于 >
、大于等于 >=
,以及等于 ==
、不等于 !=
、全等 ===
、不全等 !==
。比较运算符的优先级低于位移运算符,但高于位运算符和逻辑运算符。
位运算符:
位运算符包括按位与 &
、按位异或 ^
、按位或 |
。它们的优先级低于比较运算符,但高于逻辑运算符。
逻辑运算符:
逻辑运算符包括逻辑与 &&
、逻辑或 ||
,以及逻辑异或 ^
和逻辑非 !
。逻辑运算符的优先级低于位运算符,但高于条件运算符。
三元条件运算符:
三元条件运算符 expr1 ? expr2 : expr3
用于根据条件选择表达式的值。它的优先级低于逻辑运算符,但高于赋值运算符。
赋值运算符:
赋值运算符用于给变量赋值,如 =
、+=
、-=
、*=
、/=
、%=
、.=
等。赋值运算符具有最低的优先级。
PHP在当今世界仍然是一门流行和重要的服务器端脚本语言。它具有广泛的应用领域、强大的生态系统和不断发展的特点,为Web开发提供了可靠和灵活的解决方案。随着技术的进步和改进,PHP有望继续保持其在Web开发领域的重要地位。