欢迎光临
我们一直在努力

PHP 基础语法学习笔记

1. PHP 简介

PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,尤其适合 Web 开发。PHP 代码可以嵌入 HTML 中,在服务器端执行后生成动态网页。

2. 环境准备

在开始学习之前,需要搭建 PHP 运行环境。常见方案:

  • 集成环境:XAMPP、WAMP、phpStudy 等,一键安装 Apache + PHP + MySQL。
  • 单独安装:从 php.net 下载 PHP,配置环境变量。
  • 命令行验证:在终端输入 php -v 查看版本信息。

3. 基本语法

3.1 PHP 标记

PHP 代码以 <?php 开始,以 ?> 结束:

<?php
echo "Hello, World!";
?>

如果文件只包含 PHP 代码,建议省略结束标记 ?>,避免意外输出空白字符。

3.2 注释

PHP 支持三种注释方式:

<?php
// 单行注释

# 这也是单行注释

/*
多行注释
可以跨越多行
*/

?>

3.3 输出语句

PHP 常用的输出方式有 echo 和 print:

<?php
echo "使用 echo 输出<br>";
print "使用 print 输出<br>";

// echo 可以输出多个参数
echo "参数1", "参数2", "参数3";
?>

4. 变量与常量

4.1 变量

PHP 变量以 $ 符号开头,变量名区分大小写:

<?php
$name = "张三";
$age = 25;
$height = 1.75;
$isStudent = true;

echo "姓名:$name,年龄:$age";
?>

4.2 变量作用域

PHP 有四种变量作用域:

  • 局部变量:函数内定义的变量
  • 全局变量:函数外定义的变量
  • 静态变量:函数内用 static 声明的变量
  • 参数变量:函数参数

<?php
$globalVar = "全局变量";

function test() {
global $globalVar; // 使用 global 关键字访问全局变量
echo $globalVar;
}

test();
?>

4.3 常量

使用 define() 函数或 const 关键字定义常量:

<?php
define("SITE_NAME", "我的博客");
const VERSION = "1.0.0";

echo SITE_NAME;
echo VERSION;
?>

5. 数据类型

PHP 支持以下数据类型:

类型说明示例
String 字符串 "Hello"
Integer 整数 42
Float 浮点数 3.14
Boolean 布尔值 true / false
Array 数组 [1, 2, 3]
Object 对象 new ClassName()
NULL 空值 null

<?php
// 类型检查
$num = 10;
var_dump($num); // int(10)

$str = "10";
var_dump($str); // string(2) "10"
?>

6. 运算符

6.1 算术运算符

<?php
$a = 10;
$b = 3;

echo $a + $b; // 13
echo $a – $b; // 7
echo $a * $b; // 30
echo $a / $b; // 3.333…
echo $a % $b; // 1
echo $a ** $b; // 1000(幂运算)
?>

6.2 比较运算符

<?php
$a = 10;
$b = "10";

var_dump($a == $b); // true(值相等)
var_dump($a === $b); // false(值和类型都相等)
var_dump($a != $b); // false
var_dump($a !== $b); // true
var_dump($a > 5); // true
?>

6.3 逻辑运算符

<?php
$a = true;
$b = false;

var_dump($a && $b); // false(与)
var_dump($a || $b); // true(或)
var_dump(!$a); // false(非)
?>

7. 流程控制

7.1 条件语句

<?php
$score = 85;

if ($score >= 90) {
echo "优秀";
} elseif ($score >= 60) {
echo "及格";
} else {
echo "不及格";
}

// switch 语句
$day = "Monday";
switch ($day) {
case "Monday":
echo "星期一";
break;
case "Friday":
echo "星期五";
break;
default:
echo "其他";
}
?>

7.2 循环语句

<?php
// for 循环
for ($i = 1; $i <= 5; $i++) {
echo "第 $i 次循环<br>";
}

// while 循环
$j = 1;
while ($j <= 5) {
echo "while: $j<br>";
$j++;
}

// foreach 循环(遍历数组)
$colors = ["red", "green", "blue"];
foreach ($colors as $color) {
echo $color . "<br>";
}
?>

8. 数组

8.1 索引数组

<?php
// 创建数组
$fruits = ["苹果", "香蕉", "橙子"];

// 访问元素
echo $fruits[0]; // 苹果

// 添加元素
$fruits[] = "葡萄";

// 遍历数组
foreach ($fruits as $fruit) {
echo $fruit . "<br>";
}
?>

8.2 关联数组

<?php
$user = [
"name" => "张三",
"age" => 25,
"email" => "zhangsan@example.com"
];

echo $user["name"]; // 张三

// 遍历关联数组
foreach ($user as $key => $value) {
echo "$key: $value<br>";
}
?>

8.3 常用数组函数

<?php
$numbers = [3, 1, 4, 1, 5];

echo count($numbers); // 5(元素个数)
sort($numbers); // 排序
print_r($numbers); // 打印数组结构

$merged = array_merge([1, 2], [3, 4]); // 合并数组
?>

9. 函数

9.1 函数定义与调用

<?php
function greet($name, $greeting = "你好") {
return "$greeting,$name!";
}

echo greet("张三"); // 你好,张三!
echo greet("李四", "早上好"); // 早上好,李四!
?>

9.2 可变参数

<?php
function sum(…$numbers) {
return array_sum($numbers);
}

echo sum(1, 2, 3, 4, 5); // 15
?>

9.3 匿名函数

<?php
$multiply = function ($a, $b) {
return $a * $b;
};

echo $multiply(3, 4); // 12

// 箭头函数(PHP 7.4+)
$add = fn($a, $b) => $a + $b;
echo $add(2, 3); // 5
?>

10. 字符串操作

<?php
$str = "Hello, PHP World!";

echo strlen($str); // 18(字符串长度)
echo strtoupper($str); // 转大写
echo strtolower($str); // 转小写
echo str_replace("PHP", "编程", $str); // 替换
echo substr($str, 0, 5); // Hello(截取)

// 字符串拼接
$firstName = "张";
$lastName = "三";
$fullName = $firstName . $lastName;
echo $fullName; // 张三
?>

11. 表单处理

11.1 GET 请求

<?php
// 处理 GET 请求
if (isset($_GET["name"])) {
$name = $_GET["name"];
echo "你好,$name!";
}
?>

11.2 POST 请求

<?php
// 处理 POST 请求
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
// 处理登录逻辑
}
?>

12. 面向对象编程

12.1 类与对象

<?php
class Car {
// 属性
public $brand;
private $speed = 0;

// 构造函数
public function __construct($brand) {
$this->brand = $brand;
}

// 方法
public function accelerate($amount) {
$this->speed += $amount;
return $this->speed;
}

public function getSpeed() {
return $this->speed;
}
}

// 创建对象
$myCar = new Car("Toyota");
echo $myCar->brand; // Toyota
echo $myCar->accelerate(60); // 60
?>

12.2 继承

<?php
class Animal {
protected $name;

public function __construct($name) {
$this->name = $name;
}

public function speak() {
return "动物叫声";
}
}

class Dog extends Animal {
public function speak() {
return "汪汪!";
}
}

$dog = new Dog("旺财");
echo $dog->speak(); // 汪汪!
?>

13. 错误处理

<?php
// try-catch 异常处理
try {
$num = 10;
if ($num < 20) {
throw new Exception("数字太小");
}
echo $num;
} catch (Exception $e) {
echo "捕获异常:" . $e->getMessage();
} finally {
echo "无论是否异常都会执行";
}
?>

14. 常用内置函数

<?php
// 日期时间
echo date("Y-m-d H:i:s"); // 当前时间

// 数学函数
echo max(1, 5, 3); // 5
echo min(1, 5, 3); // 1
echo round(3.7); // 4
echo rand(1, 100); // 随机数

// 数组函数
$arr = [1, 2, 3];
echo count($arr); // 3
echo in_array(2, $arr) ? "存在" : "不存在"; // 存在

// 字符串函数
echo trim(" Hello "); // 去除空格
echo strpos("Hello", "l"); // 2(查找位置)
?>

赞(0)
未经允许不得转载:171主机测评 » PHP 基础语法学习笔记
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址