PHP 是一种常用于 Web 开发的服务器端脚本语言,具有易于学习、灵活性强等特点。以下是 PHP 的基础语法详细介绍。
1. PHP 基本语法
PHP 文件扩展名:PHP 文件通常以 .php 作为扩展名。
PHP 标签:PHP 代码通常嵌入到 HTML 中,PHP 代码段以 <?php 开始,以 ?> 结束。
bash
<?php
echo "Hello, World!";
?>
注释:注释有三种方式:
php
复制代码
// 单行注释
# 另一种单行注释
/* 多行注释 */
2. 变量
定义变量:PHP 中的变量以 $ 开头,变量名不需要声明类型,类型会自动根据赋值确定。
bash
$name = "John";
$age = 25;
$price = 19.99;
变量命名规则:
变量名必须以字母或下划线开头
变量名不能以数字开头
变量名区分大小写
3. 数据类型
基本数据类型:
string:字符串
int:整数
float:浮点数
bool:布尔值
array:数组
object:对象
NULL:空值
检查变量类型:可以使用 gettype() 函数检查变量的类型,或用 var_dump() 显示详细信息。
bash
$var = "Hello";
echo gettype($var); // 输出 string
var_dump($var); // 输出类型和值
4. 字符串操作
字符串连接:使用点号 . 进行字符串连接。
bash
$greeting = "Hello, " . "World!";
字符串插值:当使用双引号时,可以将变量直接放入字符串中。
php
复制代码
$name = "John";
echo "Hello, $name"; // 输出 Hello, John
5. 常量
定义常量:使用 define() 函数来定义常量,常量一旦定义无法更改,常量名通常大写。
bash
define("SITE_NAME", "MyWebsite");
echo SITE_NAME; // 输出 MyWebsite
6. 运算符
算术运算符:+ (加),- (减),* (乘),/ (除),% (取模)
赋值运算符:=,+=,-=,*=,/=
比较运算符:==,!=,>,<,>=,<=
逻辑运算符:&& (与),|| (或),! (非)
7. 条件语句
if 语句:
bash
if ($age > 18) {
echo "Adult";
} else {
echo "Minor";
}
else if 语句:
bash
if ($age < 13) {
echo "Child";
} else if ($age < 18) {
echo "Teenager";
} else {
echo "Adult";
}
switch 语句:
bash
switch ($color) {
case "red":
echo "You chose red!";
break;
case "blue":
echo "You chose blue!";
break;
default:
echo "Unknown color!";
}
8. 循环语句
for 循环:
bash
for ($i = 0; $i < 10; $i++) {
echo $i;
}
while 循环:
bash
$i = 0;
while ($i < 10) {
echo $i;
$i++;
}
do...while 循环:
bash
$i = 0;
do {
echo $i;
$i++;
} while ($i < 10);
9. 数组
索引数组:
bash
$fruits = array("Apple", "Banana", "Cherry");
echo $fruits[0]; // 输出 Apple
关联数组:
bash
$person = array("name" => "John", "age" => 25);
echo $person["name"]; // 输出 John
遍历数组:使用 foreach 遍历数组。
bash
foreach ($fruits as $fruit) {
echo $fruit;
}
10. 函数
定义函数:
bash
function greet($name) {
return "Hello, " . $name;
}
echo greet("John"); // 输出 Hello, John
默认参数:
bash
function greet($name = "Guest") {
return "Hello, " . $name;
}
echo greet(); // 输出 Hello, Guest
11. 面向对象编程 (OOP)
类与对象:PHP 支持面向对象编程,可以定义类并实例化对象。
bash
class Car {
public $model;
public function setModel($model) {
$this->model = $model;
}
public function getModel() {
return $this->model;
}
}
$car = new Car();
$car->setModel("Toyota");
echo $car->getModel(); // 输出 Toyota
构造函数:使用 __construct() 方法定义构造函数。
bash
class Car {
public $model;
public function __construct($model) {
$this->model = $model;
}
public function getModel() {
return $this->model;
}
}
$car = new Car("Toyota");
echo $car->getModel(); // 输出 Toyota
12. 超级全局变量
$_GET:通过 URL 传递的参数。
bash
echo $_GET['name']; // 获取 URL 中的 name 参数
$_POST:通过 POST 方式传递的数据。
bash
echo $_POST['name']; // 获取 POST 表单中的 name 参数
$_SERVER:服务器相关的信息。
c
echo $_SERVER['SERVER_NAME']; // 输出服务器名
13. 错误处理
try-catch 捕获异常:
bash
try {
if ($num == 0) {
throw new Exception("Division by zero.");
}
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage();
}