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 支持 ifelseelseifswitch 等控制结构。

<?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 提供了多种循环结构,如 forwhileforeach

<?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 的常用功能后,你可以编写动态网站、处理表单数据、管理数据库、上传文件等。

如果你有更具体的需求或代码问题,随时可以提问!