大家好,我是程序员小羊!
前言:
PHP(Hypertext Preprocessor)是一种常用于网页开发的服务器端脚本语言,易于学习并且与 HTML 紧密结合。以下是
PHP 的基础语法详细讲解。
1. PHP 基础结构
1.1 PHP 脚本结构
PHP 代码通常嵌入到 HTML 文件中,并且用特殊的标记 <?php ?>
或短标记 <? ?>
包围:
<?phpecho "Hello, World!";
?>
<?php
是 PHP 代码的起始标记,?>
是结束标记。- PHP 代码可以放在 HTML 代码中间,服务器解析时只执行 PHP 代码,输出结果会生成标准 HTML 页面。
1.2 PHP 文件扩展名
PHP 文件通常以 .php
作为扩展名,例如 index.php
。
2. 基本语法规则
2.1 注释
PHP 支持 C 和 C++ 风格的注释:
-
单行注释:
// 这是单行注释 # 这也是单行注释
-
多行注释:
/*这是多行注释可以有多行内容 */
2.2 大小写敏感
-
PHP 中的变量名是大小写敏感的。
$Variable = "Hello"; echo $variable; // 会出错,因为大小写不匹配
-
函数名和关键字则不区分大小写:
echo "hello"; // 输出 "hello" ECHO "world"; // 也能输出 "world"
2.3 分号
每个 PHP 语句必须以分号 (;
) 结束。如果没有分号,会导致解析错误。
echo "Hello, World!"; // 正确
echo "Hello, World!" // 错误,缺少分号
3. 变量
3.1 变量声明
PHP 变量不需要显式声明类型,使用 $
符号加上变量名来声明和使用变量:
$name = "Alice";
$age = 25;
- PHP 是弱类型语言,变量类型由赋给它的值自动决定。
- 变量名必须以字母或下划线
_
开头,后面可以跟字母、数字或下划线。
3.2 变量类型
PHP 支持多种变量类型:
-
字符串(String):
$str = "Hello";
-
整数(Integer):
$int = 123;
-
浮点数(Float):
$float = 12.34;
-
布尔值(Boolean):
$isTrue = true;
-
数组(Array):
$arr = array("apple", "banana", "cherry");
-
对象(Object):
PHP 通过类(class)创建对象,详细内容后续介绍。 -
NULL 类型:
变量未定义或被赋值为NULL
时,它就是NULL
类型:$var = null;
4. 常量
常量的值一旦定义就不能改变,使用 define()
函数定义:
define("PI", 3.14159);
echo PI; // 输出 3.14159
- 常量名通常使用大写字母表示,定义后不需要
$
符号引用。
5. 字符串操作
5.1 字符串拼接
PHP 中使用 .
运算符拼接字符串:
$greeting = "Hello, " . "World!";
echo $greeting; // 输出 "Hello, World!"
5.2 字符串插值
使用双引号定义的字符串支持变量插值:
$name = "Alice";
echo "Hello, $name"; // 输出 "Hello, Alice"
单引号字符串不支持变量插值,变量会按字面量输出:
echo 'Hello, $name'; // 输出 "Hello, $name"
6. 运算符
6.1 算术运算符
PHP 支持常见的算术运算符:
$a = 10;
$b = 3;echo $a + $b; // 加法,输出 13
echo $a - $b; // 减法,输出 7
echo $a * $b; // 乘法,输出 30
echo $a / $b; // 除法,输出 3.3333
echo $a % $b; // 取余数,输出 1
6.2 赋值运算符
常用赋值运算符:
$a = 5; // 基本赋值
$a += 10; // 相当于 $a = $a + 10,结果是 15
$a -= 2; // 相当于 $a = $a - 2,结果是 13
$a *= 3; // 相当于 $a = $a * 3,结果是 39
6.3 比较运算符
比较两个值的关系:
$a == $b; // 相等
$a === $b; // 全等(值和类型相同)
$a != $b; // 不等
$a > $b; // 大于
$a < $b; // 小于
6.4 逻辑运算符
用于布尔运算:
$and = true && false; // 逻辑与,结果为 false
$or = true || false; // 逻辑或,结果为 true
$not = !true; // 逻辑非,结果为 false
7. 条件语句
7.1 if-else 语句
PHP 支持标准的条件语句 if-else
语句:
$age = 18;if ($age >= 18) {echo "You are an adult.";
} else {echo "You are a minor.";
}
7.2 elseif
多条件分支使用 elseif
:
$grade = 85;if ($grade >= 90) {echo "A";
} elseif ($grade >= 80) {echo "B";
} else {echo "C";
}
7.3 三元运算符
简洁的条件语句可以使用三元运算符:
$result = ($age >= 18) ? "Adult" : "Minor";
8. 循环结构
8.1 while 循环
while
循环会在条件为真时重复执行代码块:
$i = 1;while ($i <= 5) {echo $i; // 输出 1 到 5$i++;
}
8.2 for 循环
for
循环适用于已知循环次数的情况:
for ($i = 1; $i <= 5; $i++) {echo $i; // 输出 1 到 5
}
8.3 foreach 循环
foreach
用于遍历数组:
$arr = array("apple", "banana", "cherry");foreach ($arr as $fruit) {echo $fruit; // 输出 "apple", "banana", "cherry"
}
9. 函数
9.1 定义和调用函数
PHP 函数使用 function
关键字定义:
function greet($name) {return "Hello, $name!";
}echo greet("Alice"); // 输出 "Hello, Alice!"
9.2 默认参数
函数参数可以有默认值:
function greet($name = "Guest") {return "Hello, $name!";
}echo greet(); // 输出 "Hello, Guest!"
9.3 可变参数
PHP 函数可以通过 ...
来接收可变数量的参数:
function sum(...$numbers) {return array_sum($numbers);
}echo sum(1, 2, 3); // 输出 6
10. 数组
10.1 索引数组
PHP 的数组类似于其他语言的列表或数组:
$fruits = array("apple", "banana", "cherry");echo $fruits[0]; // 输出 "apple"
10.2 关联数组
关联数组使用键值对:
$ages = array("Alice" => 25, "Bob" => 30);echo $ages["Alice"]; // 输出 25
11. 面向对象编程 (OOP)
PHP 支持面向对象编程,以下是简单的类和对象的示例:
class Person {public $name;public function __construct($name) {$this->name = $name;}public function greet() {return "Hello, " . $this->name;}
}$person = new Person("Alice");
echo $person->greet(); // 输出 "Hello, Alice"
12. 表单处理
PHP 通常用于处理网页表单,数据通过 $_GET
或 $_POST
数组传递:
// 表单提交方式是 POST
$name = $_POST['name'];
echo "Hello, $name";
13. 会话管理
PHP 提供 session
机制用于在用户间传递数据:
session_start();
$_SESSION['username'] = "Alice";
这就是 PHP 的基础语法,涵盖了从变量、条件语句、循环、数组、函数到面向对象编程等基本内容。
结尾
今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文