php基础语法
PHP 是一种流行的服务器端脚本语言,广泛应用于 Web 开发。以下是 PHP 的基础语法和常用功能介绍,适合初学者入门学习。
1. PHP 基本语法
1.1 PHP 标签
PHP 代码可以嵌入到 HTML 中,使用 <?php ?>
标签来包裹 PHP 代码:
<?php
echo "Hello, World!";
?>
1.2 注释
PHP 支持单行注释和多行注释:
// 这是单行注释
# 这是另一种单行注释风格
/*
这是多行注释
可以用于注释多行代码
*/
1.3 输出内容
使用 echo
或 print
来输出内容:
<?php
echo "Hello, World!"; // 输出字符串
print "Hello, PHP!"; // 输出字符串
?>
2. 变量与常量
2.1 变量
PHP 中的变量以 $
符号开头,变量名区分大小写。变量在首次赋值时声明,不需要指定类型,因为 PHP 是弱类型语言:
<?php
$name = "Alice"; // 字符串类型
$age = 25; // 整数类型
$price = 19.99; // 浮点数类型
$is_logged_in = true; // 布尔类型
?>
- 变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线。
2.2 常量
常量使用 define()
函数定义,定义后值不能改变:
<?php
define("SITE_NAME", "My Website");
echo SITE_NAME; // 输出: My Website
?>
PHP 7.0 及以上版本支持 const
声明常量:
<?php
const MAX_USERS = 100;
echo MAX_USERS; // 输出: 100
?>
3. 数据类型
PHP 支持以下数据类型:
- 字符串(String):由一系列字符组成。
- 整数(Integer):不带小数的数字。
- 浮点数(Float):带有小数点的数字。
- 布尔值(Boolean):
true
或false
。 - 数组(Array):存储多个值的集合。
- 对象(Object):存储对象的实例。
- NULL:表示变量没有值。
3.1 字符串操作
可以使用单引号或双引号创建字符串:
<?php
$greeting = 'Hello';
$name = "World";
echo "$greeting, $name!"; // 输出: Hello, World!
字符串连接使用 .
运算符:
<?php
$fullName = "John" . " " . "Doe";
echo $fullName; // 输出: John Doe
?>
3.2 数组
数组用于存储一组值,可以是索引数组或关联数组:
- 索引数组:
<?php
$fruits = array("Apple", "Banana", "Orange");
echo $fruits[0]; // 输出: Apple
?>
- 关联数组:
<?php
$person = array("name" => "Alice", "age" => 25);
echo $person["name"]; // 输出: Alice
?>
3.3 对象
PHP 是面向对象的语言,可以定义类和创建对象:
<?php
class Car {
public $make;
public $model;
public function __construct($make, $model) {
$this->make = $make;
$this->model = $model;
}
public function getDetails() {
return $this->make . " " . $this->model;
}
}
$car = new Car("Toyota", "Corolla");
echo $car->getDetails(); // 输出: Toyota Corolla
?>
4. 运算符
PHP 提供了多种运算符,包括算术运算符、比较运算符、逻辑运算符等。
4.1 算术运算符
<?php
$x = 10;
$y = 5;
echo $x + $y; // 输出: 15
echo $x - $y; // 输出: 5
echo $x * $y; // 输出: 50
echo $x / $y; // 输出: 2
echo $x % $y; // 输出: 0 (取模运算)
?>
4.2 比较运算符
<?php
$x = 10;
$y = 5;
var_dump($x == $y); // 输出: bool(false)
var_dump($x != $y); // 输出: bool(true)
var_dump($x > $y); // 输出: bool(true)
var_dump($x < $y); // 输出: bool(false)
?>
4.3 逻辑运算符
<?php
$x = true;
$y = false;
var_dump($x && $y); // 输出: bool(false)
var_dump($x || $y); // 输出: bool(true)
var_dump(!$x); // 输出: bool(false)
?>
5. 控制结构
PHP 支持常见的控制结构,如条件语句、循环等。
5.1 条件语句
PHP 使用 if
、else if
和 else
语句进行条件判断:
<?php
$age = 20;
if ($age >= 18) {
echo "You are an adult.";
} else {
echo "You are a minor.";
}
?>
5.2 switch
语句
switch
用于多个条件判断:
<?php
$day = "Monday";
switch ($day) {
case "Monday":
echo "Start of the week!";
break;
case "Friday":
echo "Almost weekend!";
break;
default:
echo "Just another day.";
}
?>
5.3 循环
PHP 支持 while
、for
、foreach
等循环结构。
for
循环:
<?php
for ($i = 0; $i < 5; $i++) {
echo $i; // 输出: 01234
}
?>
while
循环:
<?php
$i = 0;
while ($i < 5) {
echo $i;
$i++;
}
?>
foreach
循环(用于遍历数组):
<?php
$fruits = array("Apple", "Banana", "Orange");
foreach ($fruits as $fruit) {
echo $fruit; // 输出: AppleBananaOrange
}
?>
6. 函数
PHP 支持定义函数,函数是可重复使用的代码块。
6.1 定义和调用函数
<?php
function greet($name) {
return "Hello, " . $name;
}
echo greet("Alice"); // 输出: Hello, Alice
?>
6.2 默认参数
可以为函数参数设置默认值:
<?php
function greet($name = "Guest") {
return "Hello, " . $name;
}
echo greet(); // 输出: Hello, Guest
echo greet("Bob"); // 输出: Hello, Bob
?>
7. 表单处理与超级全局变量
PHP 使用超级全局变量 $_GET
、$_POST
等来处理表单数据。
7.1 处理表单提交
<form method="post" action="submit.php">
Name: <input type="text" name="name">
<input type="submit">
</form>
<?php
// submit.php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST["name"];
echo "Hello, " . htmlspecialchars($name);
}
?>
$_POST
用于获取通过POST
方法提交的数据。htmlspecialchars()
用于防止 XSS 攻击,转义特殊字符。
8. 文件操作
PHP 提供多种函数用于文件操作,如读取、写入文件。
8.1 读取文件
<?php
$file = fopen("example.txt", "r");
echo fread($file, filesize("example.txt"));
fclose($file);
?>
8.2 写入文件
<?php
$file = fopen("example.txt", "w");
fwrite($file, "Hello, PHP!");
fclose($file);
?>
9. 错误处理
PHP 提供了多种方式处理错误,可以使用 try-catch
进行异常处理:
<?php
try {
if
(!file_exists("example.txt")) {
throw new Exception("File not found.");
}
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}
?>
总结
PHP 的基础语法包括变量、常量、运算符、控制结构、函数等,它灵活且易于学习,适合用于动态网站开发。通过掌握这些基础知识,你可以构建动态网页并与数据库、文件系统等交互。