PHP基础语法讲解

news/2024/9/29 3:23:31/

在这里插## 标题入图片描述

大家好,我是程序员小羊!

前言:

PHP(Hypertext Preprocessor)是一种常用于网页开发的服务器端脚本语言,易于学习并且与 HTML 紧密结合。以下是
PHP 的基础语法详细讲解。

1. PHP 基础结构

1.1 PHP 脚本结构

PHP 代码通常嵌入到 HTML 文件中,并且用特殊的标记 <?php ?> 或短标记 <? ?> 包围:

php"><?phpecho "Hello, World!";
?>
  • <?php 是 PHP 代码的起始标记,?> 是结束标记。
  • PHP 代码可以放在 HTML 代码中间,服务器解析时只执行 PHP 代码,输出结果会生成标准 HTML 页面。
1.2 PHP 文件扩展名

PHP 文件通常以 .php 作为扩展名,例如 index.php

2. 基本语法规则

2.1 注释

PHP 支持 C 和 C++ 风格的注释:

  • 单行注释:

    php">// 这是单行注释
    # 这也是单行注释
    
  • 多行注释:

    php">/*这是多行注释可以有多行内容
    */
    
2.2 大小写敏感
  • PHP 中的变量名是大小写敏感的。

    php">$Variable = "Hello";
    echo $variable;  // 会出错,因为大小写不匹配
    
  • 函数名和关键字则不区分大小写

    php">echo "hello";  // 输出 "hello"
    ECHO "world";  // 也能输出 "world"
    
2.3 分号

每个 PHP 语句必须以分号 (;) 结束。如果没有分号,会导致解析错误。

php">echo "Hello, World!";  // 正确
echo "Hello, World!"   // 错误,缺少分号

3. 变量

3.1 变量声明

PHP 变量不需要显式声明类型,使用 $ 符号加上变量名来声明和使用变量:

php">$name = "Alice";
$age = 25;
  • PHP 是弱类型语言,变量类型由赋给它的值自动决定。
  • 变量名必须以字母或下划线 _ 开头,后面可以跟字母、数字或下划线。
3.2 变量类型

PHP 支持多种变量类型:

  • 字符串(String)

    php">$str = "Hello";
    
  • 整数(Integer)

    php">$int = 123;
    
  • 浮点数(Float)

    php">$float = 12.34;
    
  • 布尔值(Boolean)

    php">$isTrue = true;
    
  • 数组(Array)

    php">$arr = array("apple", "banana", "cherry");
    
  • 对象(Object)
    PHP 通过类(class)创建对象,详细内容后续介绍。

  • NULL 类型
    变量未定义或被赋值为 NULL 时,它就是 NULL 类型:

    php">$var = null;
    

4. 常量

常量的值一旦定义就不能改变,使用 define() 函数定义:

php">define("PI", 3.14159);
echo PI;  // 输出 3.14159
  • 常量名通常使用大写字母表示,定义后不需要 $ 符号引用。

5. 字符串操作

5.1 字符串拼接

PHP 中使用 . 运算符拼接字符串:

php">$greeting = "Hello, " . "World!";
echo $greeting;  // 输出 "Hello, World!"
5.2 字符串插值

使用双引号定义的字符串支持变量插值:

php">$name = "Alice";
echo "Hello, $name";  // 输出 "Hello, Alice"

单引号字符串不支持变量插值,变量会按字面量输出:

php">echo 'Hello, $name';  // 输出 "Hello, $name"

6. 运算符

6.1 算术运算符

PHP 支持常见的算术运算符:

php">$a = 10;
$b = 3;echo $a + $b;  // 加法,输出 13
echo $a - $b;  // 减法,输出 7
echo $a * $b;  // 乘法,输出 30
echo $a / $b;  // 除法,输出 3.3333
echo $a % $b;  // 取余数,输出 1
6.2 赋值运算符

常用赋值运算符:

php">$a = 5;      // 基本赋值
$a += 10;    // 相当于 $a = $a + 10,结果是 15
$a -= 2;     // 相当于 $a = $a - 2,结果是 13
$a *= 3;     // 相当于 $a = $a * 3,结果是 39
6.3 比较运算符

比较两个值的关系:

php">$a == $b;  // 相等
$a === $b; // 全等(值和类型相同)
$a != $b;  // 不等
$a > $b;   // 大于
$a < $b;   // 小于
6.4 逻辑运算符

用于布尔运算:

php">$and = true && false;  // 逻辑与,结果为 false
$or  = true || false;  // 逻辑或,结果为 true
$not = !true;          // 逻辑非,结果为 false

7. 条件语句

7.1 if-else 语句

PHP 支持标准的条件语句 if-else 语句:

php">$age = 18;if ($age >= 18) {echo "You are an adult.";
} else {echo "You are a minor.";
}
7.2 elseif

多条件分支使用 elseif

php">$grade = 85;if ($grade >= 90) {echo "A";
} elseif ($grade >= 80) {echo "B";
} else {echo "C";
}
7.3 三元运算符

简洁的条件语句可以使用三元运算符:

php">$result = ($age >= 18) ? "Adult" : "Minor";

8. 循环结构

8.1 while 循环

while 循环会在条件为真时重复执行代码块:

php">$i = 1;while ($i <= 5) {echo $i;  // 输出 1 到 5$i++;
}
8.2 for 循环

for 循环适用于已知循环次数的情况:

php">for ($i = 1; $i <= 5; $i++) {echo $i;  // 输出 1 到 5
}
8.3 foreach 循环

foreach 用于遍历数组:

php">$arr = array("apple", "banana", "cherry");foreach ($arr as $fruit) {echo $fruit;  // 输出 "apple", "banana", "cherry"
}

9. 函数

9.1 定义和调用函数

PHP 函数使用 function 关键字定义:

php">function greet($name) {return "Hello, $name!";
}echo greet("Alice");  // 输出 "Hello, Alice!"
9.2 默认参数

函数参数可以有默认值:

php">function greet($name = "Guest") {return "Hello, $name!";
}echo greet();  // 输出 "Hello, Guest!"
9.3 可变参数

PHP 函数可以通过 ... 来接收可变数量的参数:

php">function sum(...$numbers) {return array_sum($numbers);
}echo sum(1, 2, 3);  // 输出 6

10. 数组

10.1 索引数组

PHP 的数组类似于其他语言的列表或数组:

php">$fruits = array("apple", "banana", "cherry");echo $fruits[0];  // 输出 "apple"
10.2 关联数组

关联数组使用键值对:

php">$ages = array("Alice" => 25, "Bob" => 30);echo $ages["Alice"];  // 输出 25

11. 面向对象编程 (OOP)

PHP 支持面向对象编程,以下是简单的类和对象的示例:

php">class Person {public $name;public function __construct($name) {$this->name = $name;}public function greet() {return "Hello, " . $this->name;}
}$person = new Person("Alice");
echo $person->greet();  // 输出 "Hello, Alice"

12. 表单处理

PHP 通常用于处理网页表单,数据通过 $_GET$_POST 数组传递:

php">// 表单提交方式是 POST
$name = $_POST['name'];
echo "Hello, $name";

13. 会话管理

PHP 提供 session 机制用于在用户间传递数据:

php">session_start();
$_SESSION['username'] = "Alice";

这就是 PHP 的基础语法,涵盖了从变量、条件语句、循环、数组、函数到面向对象编程等基本内容。

结尾

今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文

在这里插入图片描述

在这里插入图片描述


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

相关文章

这些主流的财务管理软件,你用过哪款?

在当今的商业环境中&#xff0c;财务管理面临着诸多棘手的痛点问题&#xff1a; 数据的准确性与及时性难以保证&#xff0c;手工录入易出错且数据更新常不及时&#xff1b; 预算管理困难重重&#xff0c;编制不合理且执行监控难&#xff1b; 财务风险管控不足&#xff0c;应…

【高分系列卫星简介——高分一号卫星(GF-1)】

高分一号卫星&#xff08;GF-1&#xff09; 高分一号&#xff08;GF-1&#xff09;是中国高分辨率对地观测系统&#xff08;简称“高分专项”&#xff09;的第一颗卫星&#xff0c;具有里程碑式的意义。以下是对高分一号卫星的详细介绍&#xff1a; 一、基本信息 发射时间&…

虚拟机开启网络代理设置,利用主机代理访问国外资源

前言 有时候需要访问一些镜像网站拉取安装包或是学习资料&#xff0c;由于国内外网络环境差异和网络安全的问题&#xff0c;总会被阻拦。下文来说一下虚拟机centos7如何通过连接主机的代理软件。 一、代理软件设置 1、前提是主机要安装有代理软件&#xff0c;查看代理软件的…

面经 | 手写

经典手写题目 手写call apply bindcallapplybind手写call apply bind call 其实应该考虑没有传入context的情况,但面试考点一般不在这儿.所以,这里就直接写核心Function.prototype.myCall=function(context){let args=[

Linux驱动开发(速记版)--高级字符设备进阶

第二十四章 IO 模型引入 24.1 IO 的概念 IO是计算机系统内外数据交换过程&#xff0c;冯诺依曼架构下各部件协同工作。用户输入&#xff0c;CPU处理&#xff0c;结果输出。磁盘IO是内存与磁盘数据交换的核心&#xff0c;对信息交互至关重要。 24.2 IO 执行过程 Linux操作系统…

基于SSM+小程序的医院挂号登录管理系统(医院4)(源码+sql脚本+视频导入教程+文档)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 本医院挂号系统小程序可以实现患者管理&#xff0c;医生管理&#xff0c;科室管理&#xff0c;专家信息管理&#xff0c;预约信息管理&#xff0c;取消预约申请管理&#xff0c;系统管理等…

看Threejs好玩示例,学习创新与技术(React-three-fiber)

什么&#xff0c;竟有人把ThreeJS和React绑定在一起&#xff0c;混着用&#xff1f; 1、VUE劫持问题 暂先把今天的问题先放一边&#xff0c;先简单回顾下vue劫持的情况。vue会把data里面的数据自动转换为属性&#xff0c;方便界面与数据交互。这本身是没有任何问题&#xff0…

MMD模型及动作一键完美导入UE5-Blender方案(三)

1、下载并安装blender_mmd_tools插件 1、下载并安装Blender,Blender,下载Blender3.6,下载太新的版本可能会跟blender_mmd_tools不匹配 2、github下载blender_mmd_tools:https://github.com/UuuNyaa/blender_mmd_tools/ 3、Edit->Preference->Add ons->Install F…