php基础语法

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();
}
相关推荐
Bruce_Liuxiaowei3 小时前
PHP文件读取漏洞全面剖析:触发点与利用技术
开发语言·php
hopetomorrow4 小时前
学习路之PHP--webman安装及使用
android·学习·php
链上Sniper18 小时前
Python 区块链开发实战:从零到一构建智能合约
开发语言·网络·python·架构·区块链·php·智能合约
链上Sniper1 天前
智能合约安全漏洞解析:从 Reentrancy 到 Integer Overflow
开发语言·网络·架构·区块链·php·智能合约
链上Sniper1 天前
高并发区块链系统实战:从架构设计到性能优化
开发语言·网络·python·性能优化·架构·区块链·php
链上Sniper1 天前
NFT 市场开发:基于 Ethereum 和 IPFS 构建去中心化平台
开发语言·网络·架构·去中心化·区块链·php
链上Sniper1 天前
区块链跨链通信:使用 Cosmos SDK 实现链间互操作
开发语言·网络·架构·区块链·php
时之彼岸Φ1 天前
网络攻防技术十四:入侵检测与网络欺骗
开发语言·网络·php
搬码临时工1 天前
有公网ip但外网访问不到怎么办?内网IP端口映射公网连接常见问题和原因
运维·服务器·网络·网络协议·tcp/ip·php·远程工作
落华X1 天前
windows安装多个版本composer
php·composer