PHP 是一种广泛使用的开源服务器端脚本语言,特别适用于 Web 开发。以下是 PHP 基本概念、常用功能以及一些常见源码示例,帮助你更好地理解和编写 PHP 代码。
1. 基本 PHP 语法
1.1 PHP 文件
PHP 文件的扩展名通常是 .php
,并且 PHP 代码需要包含在 <?php
和 ?>
标签中。
<?php
echo "Hello, World!"; // 输出: Hello, World!
?>
1.2 注释
PHP 支持单行注释和多行注释。
<?php
// 这是单行注释
/* 这是多行注释
可以跨越多行 */
?>
2. 变量和数据类型
2.1 变量
PHP 的变量以 $
开头,且不需要声明类型。
<?php
$name = "Alice";
$age = 30;
echo "Name: $name, Age: $age"; // 输出: Name: Alice, Age: 30
?>
2.2 常见数据类型
- 字符串:
"Hello, World!"
- 整数:
42
- 浮点数:
3.14
- 布尔值:
true
或false
- 数组:
array(1, 2, 3)
- 对象:
new ClassName()
<?php
$intVar = 10; // 整数
$floatVar = 3.14; // 浮点数
$boolVar = true; // 布尔值
$arrayVar = array(1, 2, 3); // 数组
?>
3. 控制结构
3.1 条件语句
PHP 支持 if
、else
、elseif
、switch
等控制结构。
<?php
$number = 10;
if ($number > 0) {
echo "Number is positive.";
} elseif ($number == 0) {
echo "Number is zero.";
} else {
echo "Number is negative.";
}
?>
3.2 循环
PHP 提供了多种循环结构,如 for
、while
、foreach
。
<?php
// for 循环
for ($i = 0; $i < 5; $i++) {
echo "Value: $i <br>";
}
// while 循环
$i = 0;
while ($i < 5) {
echo "Value: $i <br>";
$i++;
}
// foreach 循环
$array = array(1, 2, 3, 4);
foreach ($array as $value) {
echo "Value: $value <br>";
}
?>
4. 函数
PHP 允许定义自己的函数。
<?php
function greet($name) {
return "Hello, $name!";
}
echo greet("Alice"); // 输出: Hello, Alice!
?>
5. 数组
5.1 创建数组
<?php
$fruits = array("Apple", "Banana", "Orange");
echo $fruits[1]; // 输出: Banana
?>
5.2 关联数组
<?php
$person = array("name" => "Alice", "age" => 30);
echo $person["name"]; // 输出: Alice
?>
5.3 数组操作函数
<?php
// 数组合并
$colors1 = array("Red", "Green");
$colors2 = array("Blue", "Yellow");
$mergedColors = array_merge($colors1, $colors2);
print_r($mergedColors); // 输出: Array ( [0] => Red [1] => Green [2] => Blue [3] => Yellow )
// 数组排序
sort($colors1); // 排序
print_r($colors1); // 输出: Array ( [0] => Green [1] => Red )
?>
6. 超全局变量
PHP 提供了一些 超全局变量,用于访问用户输入的数据、服务器信息等。
6.1 $_GET
和 $_POST
$_GET
用于获取通过 URL 参数传递的数据。$_POST
用于获取通过表单提交的数据。
<!-- HTML 表单 -->
<form method="post" action="form.php">
Name: <input type="text" name="name">
<input type="submit">
</form>
<?php
// PHP 获取 POST 数据
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
echo "Hello, $name!";
}
?>
6.2 $_SERVER
$_SERVER
提供关于服务器环境的信息。
<?php
echo $_SERVER['HTTP_USER_AGENT']; // 获取浏览器信息
?>
7. 文件操作
7.1 打开和读取文件
<?php
$file = fopen("example.txt", "r") or die("Unable to open file!");
echo fread($file, filesize("example.txt"));
fclose($file);
?>
7.2 写入文件
<?php
$file = fopen("example.txt", "w") or die("Unable to open file!");
$text = "This is a test file.";
fwrite($file, $text);
fclose($file);
?>
7.3 文件上传
<!-- HTML 表单 -->
<form action="upload.php" method="post" enctype="multipart/form-data">
Select file to upload: <input type="file" name="fileToUpload">
<input type="submit" value="Upload File" name="submit">
</form>
<?php
// PHP 处理文件上传
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>
8. 数据库操作(MySQL)
8.1 连接数据库
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
8.2 执行 SQL 查询
<?php
$sql = "SELECT id, name FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
8.3 插入数据
<?php
$sql = "INSERT INTO users (name, age) VALUES ('John', 25)";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
?>
总结
PHP 是一种强大的脚本语言,广泛用于 Web 开发。它具有丰富的功能,从基本的语法到复杂的文件处理、数据库操作等都有非常好的支持。掌握 PHP 的常用功能后,你可以编写动态网站、处理表单数据、管理数据库、上传文件等。
如果你有更具体的需求或代码问题,随时可以提问!
发表回复