php基础语法

news/2024/10/7 16:42:34/

PHP 是一种常用于 Web 开发的服务器端脚本语言,具有易于学习、灵活性强等特点。以下是 PHP 的基础语法详细介绍。

1. PHP 基本语法

PHP 文件扩展名:PHP 文件通常以 .php 作为扩展名。
PHP 标签:PHP 代码通常嵌入到 HTML 中,PHP 代码段以 <?php 开始,以 ?> 结束。

<?php
echo "Hello, World!";
?>
注释:注释有三种方式:
php
复制代码
// 单行注释
# 另一种单行注释
/* 多行注释 */

2. 变量

定义变量:PHP 中的变量以 $ 开头,变量名不需要声明类型,类型会自动根据赋值确定。

$name = "John";
$age = 25;
$price = 19.99;
变量命名规则:
变量名必须以字母或下划线开头
变量名不能以数字开头
变量名区分大小写

3. 数据类型

基本数据类型:

string:字符串
int:整数
float:浮点数
bool:布尔值
array:数组
object:对象
NULL:空值
检查变量类型:可以使用 gettype() 函数检查变量的类型,或用 var_dump() 显示详细信息。

$var = "Hello";
echo gettype($var); // 输出 string
var_dump($var);     // 输出类型和值

4. 字符串操作

字符串连接:使用点号 . 进行字符串连接。

$greeting = "Hello, " . "World!";
字符串插值:当使用双引号时,可以将变量直接放入字符串中。
php
复制代码
$name = "John";
echo "Hello, $name";  // 输出 Hello, John

5. 常量

定义常量:使用 define() 函数来定义常量,常量一旦定义无法更改,常量名通常大写。

define("SITE_NAME", "MyWebsite");
echo SITE_NAME; // 输出 MyWebsite

6. 运算符

算术运算符:+ (加),- (减),* (乘),/ (除),% (取模)
赋值运算符:=,+=,-=,*=,/=
比较运算符:==,!=,>,<,>=,<=
逻辑运算符:&& (与),|| (或),! (非)

7. 条件语句

if 语句:

if ($age > 18) {echo "Adult";
} else {echo "Minor";
}

else if 语句:

if ($age < 13) {echo "Child";
} else if ($age < 18) {echo "Teenager";
} else {echo "Adult";
}

switch 语句:

switch ($color) {case "red":echo "You chose red!";break;case "blue":echo "You chose blue!";break;default:echo "Unknown color!";
}

8. 循环语句

for 循环:

for ($i = 0; $i < 10; $i++) {echo $i;
}

while 循环:

$i = 0;
while ($i < 10) {echo $i;$i++;
}

do…while 循环:

$i = 0;
do {echo $i;$i++;
} while ($i < 10);

9. 数组

索引数组:

$fruits = array("Apple", "Banana", "Cherry");
echo $fruits[0];  // 输出 Apple

关联数组:

$person = array("name" => "John", "age" => 25);
echo $person["name"];  // 输出 John

遍历数组:使用 foreach 遍历数组。

foreach ($fruits as $fruit) {echo $fruit;
}

10. 函数

定义函数:

function greet($name) {return "Hello, " . $name;
}
echo greet("John");  // 输出 Hello, John

默认参数:

function greet($name = "Guest") {return "Hello, " . $name;
}
echo greet();  // 输出 Hello, Guest

11. 面向对象编程 (OOP)

类与对象:PHP 支持面向对象编程,可以定义类并实例化对象。

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() 方法定义构造函数。

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 传递的参数。

echo $_GET['name'];  // 获取 URL 中的 name 参数

$_POST:通过 POST 方式传递的数据。

echo $_POST['name'];  // 获取 POST 表单中的 name 参数

$_SERVER:服务器相关的信息。

echo $_SERVER['SERVER_NAME'];  // 输出服务器名

13. 错误处理

try-catch 捕获异常:

try {if ($num == 0) {throw new Exception("Division by zero.");}
} catch (Exception $e) {echo 'Caught exception: ', $e->getMessage();
}

http://www.ppmy.cn/news/1535779.html

相关文章

如何使用Redisson的布隆过滤器?

封装布隆过滤器 /*** 创建布隆过滤器** param filterName - 过滤器名称* param expectedInsertions - 预测插入数量* param falsePositiveRate - 误判率* author 付聪* time 2024-09-20 17:24:10*/ <T> RBloomFilter<T> createBloomFilter(String filterName, Lon…

自动驾驶系列—自动驾驶背后的数据通道:通信总线技术详解与应用场景分析

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

使用微服务Spring Cloud集成Kafka实现异步通信(消费者)

1、本文架构 本文目标是使用微服务Spring Cloud集成Kafka实现异步通信。其中Kafka Server部署在Ubuntu虚拟机上&#xff0c;微服务部署在Windows 11系统上&#xff0c;Kafka Producer微服务和Kafka Consumer微服务分别注册到Eureka注册中心。Kafka Producer和Kafka Consumer之…

私家车开车回家过节会发生什么事情

自驾旅行或者是自驾车回家过节路程太远。长途奔袭的私家车损耗很大。新能源汽车开始涉足电力系统和燃电混动的能源供应过渡方式。汽车在路途中出现零件故障。计划的出发日程天气原因。台风是否会提醒和注意。汽车的油站供应链和电力充电桩的漫长充电过程。高速公路的收费站和不…

Docker版MKVtoolnix的安装及中文显示

本文是应网友 kkkhi 要求折腾的&#xff0c;只研究了 MKVtoolnix 的安装及中文显示&#xff0c;未涉及到软件的使用&#xff1b; 什么是 MKVtoolnix &#xff1f; MKVToolnix 是一款功能强大的多媒体处理工具&#xff0c;用于在 Linux、其他 Unix 系统和 Windows 上创建、修改和…

AI学习记录 - L2正则化详细解释(权重衰减)

大白话&#xff1a; 通过让反向传播的损失值变得比原来更大&#xff0c;并且加入的损失值关联到神经网络全部权重的大小&#xff0c;当出现权重的平方变大的时候&#xff0c;也就是网络权重往更加负或者更加正的方向走的时候&#xff0c;损失就越大&#xff0c;从而控制极大正…

论文阅读:InternVL v1.5| How Far Are We to GPT-4V? 通过开源模型缩小与商业多模式模型的差距

论文地址&#xff1a;https://arxiv.org/abs/2404.16821 Demo&#xff1a; https://internvl.opengvlab.com Model&#xff1a;https://huggingface.co/OpenGVLab/InternVL-Chat-V1-5 公开时间&#xff1a;2024年4月29日 InternVL1.5&#xff0c;是一个开源的多模态大型语言模…

【Text2SQL】当前在BIRD基准测试集上取得SOTA的论文

论文《The Death of Schema Linking? Text-to-SQL in the Age of Well-Reasoned Language Models》探讨了在大型语言模型&#xff08;LLMs&#xff09;时代&#xff0c;文本到SQL&#xff08;Text-to-SQL&#xff09;转换中模式链接&#xff08;Schema Linking&#xff09;的作…