PHP基础

PHP介绍

1、什么是PHP

PHP(Hypertext Preprocessor 超文本预处理器) 的简称,是一种被广泛应用的开源通用的服务器端脚本语言,适用于 Web 开发并可嵌入 HTML 中。

  1. 特点:
  • 通用:指跨平台,如:Windows、Linux、MacOS
  • 开源:意味着你可以轻松获取全部源代码,并进行定制或扩展
  • 免费:意味着你不必为PHP花一分钱,哪怕用在商业项目中
  • 服务器端:意味着你必须将它安装在服务器环境下才可以使用
  • 脚本语言:解释型语言,按编写顺序执行。是指不需要编译,直接由解释器/虚拟机执行的编程语言

2、PHP能干嘛?

  • 可以快速动态的生成HTML页面
  • 可以返回前端需要的各种类型的数据
  • 可以高效安全的处理表单数据
  • 可以安全的操作服务器上的文件
  • 可以控制与客户端的会话( Cookie/Session )
  • 可以对用户的行为进行授权控制
  • 可以高效安全的操作各种类型的数据库
  • 通过扩展,可以实现加密,压缩等其他功能
  • 可以提供接口数据,包括:小程序、APP、等其他语言

3、php 程序执行流程

环境介绍

1、web 环境

  • 使用 PHP 需要先安装环境,安装环境比较麻烦,需要安装Web服务、PHP应用服务器、MySQL管理系统。
  • Web服务:apache 和 nginx
  • PHP:多版本
  • MySQL:多版本

2、环境集成包

基础语法

一、php 程序

  • PHP 文件的默认扩展名是 ".php"
  • PHP 文件中可以包含 htmlCSSJavaScript 代码
组成 描述
<?php ... ?> PHP 标记
PHP代码 函数、数组、流程控制、类、方法...
;{} 语句结束符
空白符 合理使用空白符可增强代码可读性
注释 // 单行注释, /* 多行注释 */

1、PHP 标记

  • 开始标记 <?php 和 结束标记 ?> 中间写 PHP 代码
<?php ?>

当解析一个文件时,PHP 会寻找起始和结束标记,也就是告诉 PHP 开始和停止解析二者之间的代码。此种解析方式使得 PHP 可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被 PHP 解析器忽略。

2、PHP 代码

指令 描述
echo 可以输出一个或多个字符串,用逗号(,)隔开
print 只允许输出一个字符串

3、语句结束符 ;

<?php echo 'Hello Code'; ?>

4、注释

<?php // 这是单行注释 /* 这是多行注释 注释后,在浏览器和网页源码中,是看不到的。 */ ?>

二、php 变量

1、声明变量

  • 使用$符声明变量
<?php $a = 'Hello Code'; ?>

2、赋值运算符

运算符 描述
= 赋值运算符

3、php 连接符

  • .代替+
<?php $a = 'Hello'; $b = 'Code'; echo $a . $b; ?>

4、变量命名规则

  • 变量名中间不能出现空格
  • 和其它语言一样的规则

注意:保证变量名的唯一性,变量名重复会导致后声明的变量会覆盖之前声明的变量

数据类型

一、php 标量数据类型

类型 描述
布尔型 Boolean truefalse
整型 Integer 0 - 无限大
浮点型 Float 带小数的数字
字符串 String 汉字、英文、符合、其它国家语言

echo 输出数据值,开发时使用
var_dump 可以打印数据类型和值,测试时使用

1、整型

  • 整数不能包含逗号或空格
  • 整数是没有小数点的
  • 整数可以是正数或负数
  • 整型可以用三种格式来指定:十进制、十六进制、八进制
<?php $a = 1; ?>

2、浮点型

  • 带小数的数字
<?php $b = 1.1; ?>

3、字符串

  • 可以用单引号' '也可以用双引号" "
  • 双引号" "声明的变量如果里面有变量会输出变量的值
<?php $c = 'Hello PHP'; $a = 'Hello'; echo "$a Code"; ?>

4、布尔型

  • 就两种情况:truefalse
<?php $d = true; $e = false; ?>

二、php 复合数据类型

类型 描述
array 数组
object 对象
callable 可调用
iterable 可迭代

三、php 特殊数据类型

类型 描述
空值 NULL 表示变量没有值
resource 资源

1、NULL

  • NULL 值表示变量没有值
<?php $null; var_dump($null); echo '<hr>'; $null = ''; var_dump($null); echo '<hr>'; $null = null; var_dump($null); ?>

运算符

一、运算符

运算符 描述
+ 相加
- 相减
* 相乘
/ 相除
% 取余
++ 加加
-- 减减
. 连接、用在字符串

二、赋值运算符

运算符 描述
= 赋值运算符
+= 先加,后赋值
-= 先减,后赋值
*= 先乘,后赋值
/= 先除,后赋值
%= 先取余,后赋值
.= 先连接,后赋值

三、比较运算符

运算符 描述
> 大于
>= 大于等于
< 小于
<= 小于等于
== 等于
!= 不等于
=== 恒等于
!== 恒不等

1、=== 恒等于

  • ===先比较类型,类型不一致直接返回false,类型相同则比较值
  • !===恒不等则反之
<?php var_dump(1 === 1); echo '<br>'; var_dump(1 === '1'); ?>

四、逻辑运算符

运算符 描述
and&&
or 和 `
xor 异或
!

数组

一、数组

类型 描述
数组 Array 数组可以在一个变量中存储多个值

1、创建空数组

<?php $a = array(); // 方法一 $b = []; // 方法二 ?>

2、创建索引数组

<?php $arr = array( '小明', '小红', '小刚' ); ?>

3、创建关联数组

  • 自定义键值对,通过键值对索引相对应的值
<?php $a = array( '小红' => '女', '小明' => '男' ); echo $a[小红]; ?>

4、打印数组 print_r

  • 打印输出整个数组的键值对
<?php $a = array( '小红' => '女', '小明' => '男' ); print_r($a); ?>

二、php 多维数组

  • 数组嵌套
  • 数组嵌套最好不要超过三层

1、二维数组

<?php $a = array( [1,2],[3,4] ); ?>

2、多维数组访问

  • 通过下标的方式访问数据
<?php $a = array( [1,2],[3,4] ); echo $a[0][1]; ?>

三、php 数组循环

1、foreach循环

  • 通过foreach循环遍历出数组中的所有值
<?php $a = array( '1', '2', '3', '4' ); foreach ($a as $v) { e cho $v; echo '<br>'; } ?>

2、keyvalue

<?php $a = array( '1' => '苹果', '2' => '香蕉', '3' => '梨子', '4' => '西瓜' ); foreach ($a as $k => $v) { echo $k; echo $v; echo '<br>'; } ?>

条件判断

1、三元运算符 ? :

  • 判断?前的变量是否有值,有则执行前者,反之后者
<?php $name = '小米'; $Null = ''; echo $name ? "名字是$name" : '未找到名字'; echo '<br>'; echo $Null ? "名字是$name" : '未找到名字'; ?>

2、if

<?php $name = '小米'; if ($name) { echo "$name"; } ?>

3、if else

<?php $name = '小米'; if ($name == false) { echo "$name"; }else { echo '未找到该变量'; } ?>

4、if elseif else

<?php $name = '小米'; if ($name == false) { echo "$name"; }else if ($name == true){ echo '找到该变量'; }else { echo '未找到该变量'; } ?>

5、switch case default

<?php $name = '小米'; switch ($name) { case $name == '小名': echo "名字是$name"; case $name == '小明': echo "名字是$name"; case $name == '小米': echo "名字是$name"; default: echo '该变量未查询到有匹配值'; } ?>

循环

1、while

<?php $a = 1; while ($a < 5) { echo "打印了$a" . '次' . '<br>'; $a ++; } ?>

2、do while

  • do while就是先做再判断
<?php $a = 1; do { $b = '这是do先做的东西' . '<br>'; echo $b; echo "打印了$a" . '次' . '<br>'; $a++; }while ($a < 5); ?>

3、for

<?php $a = 1; for ($i = 1;$i < 5;$i++) { echo "输出$i" . '次' . '<br>'; } ?>

4、continue

  • 执行到continue时跳出当前循环执行下一个循环
  • 在循环语句中使用 while for
<?php $a = 1; for ($i = 1;$i <= 5;$i++) { if ($i == 3) { echo '检测到变量i=3' . '<br>'; continue; } echo "输出$i" . '次' . '<br>'; } ?>

5、break

  • 运行到break能结束当前循环
  • 可以跳出多层循环
  • 在循环语句中使用 while for switch

示例1:

<?php $a = 1; for ($i = 1;$i <= 5;$i++) { if ($i == 3) { echo '检测到变量i=3' . '<br>'; break; } echo "输出$i" . '次' . '<br>'; } ?>

示例2:

<?php $name = '小米'; switch ($name) { case $name == '小名': echo "名字是$name"; break; case $name == '小米': echo "名字是$name"; break; default: echo 'End'; } ?>

函数

一、函数介绍

1、什么是函数

  • 函数是一段可以重复执行的代码片断
  • 函数是实现代码复用的重要手段
  • 函数是现代编程语言最重要的基本单元
  • 函数永远是编程的核心工作

2、函数的分类

  • 根据函数的提供者(编写者),分为二类
    • 系统函数: 编程语言开发者事先写好提供给开发者直接使用的
    • 自定义函数: 用户根据自身需求,对系统功能进行扩展

二、系统函数

  • PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数。
函数集合名 描述
String 字符串处理函数
Array 数组函数允许您访问和操作数组
MySQLi 允许您访问 MySQL 数据库服务器
Date 服务器上获取日期和时间
Filesystem 允许您访问和操作文件系统
Mail 数学函数能处理 integer 和 float 范围内的值
HTTP 允许您在其他输出被发送之前,对由 Web 服务器发送到浏览器的信息进行操作
Calendar 日历扩展包含了简化不同日历格式间转换的函数
Directory 允许您获得关于目录及其内容的信息
Error 允许您对错误进行处理和记录
Filter 进行验证和过滤
FTP 通过文件传输协议 (FTP) 提供对文件服务器的客户端访问
MySQL 允许您访问 MySQL 数据库服务器
SimpleXML 允许您把 XML 转换为对象
XML 允许我们解析 XML 文档,但无法对其进行验证
Zip 压缩文件函数允许我们读取压缩文件

1、String 字符串函数

函数 描述
strtolower() 将字符串转化为小写
strtoupper() 将字符串转化为大写
strlen() 获取字符串长度
trim() 去除字符串首尾处的空白字符(或者其他字符)
ltrim() 去除字符串开头的空白字符(或者其他字符)
rtrim() 去除字符串结尾的空白字符(或者其他字符)
str_replace() 字符串替换
strpbrk() 字符串中查找一组字符是否存在
explode() 将字符串分割为数组
md5() 将字符串进行md5加密

2、Array 数组函数

函数 描述
count() 数组中元素的数量
implode() 把数组元素组合为字符串
array_merge() 两个数组合并为一个数组
in_array() 数组中是否存在指定的值
sort() 对数值数组进行升序排序
rsort() 对数值数组进行降序排序
array_unique() 移除数组中的重复的值
array_push() 将一个或多个元素插入数组的末尾
array_pop() 删除数组中的最后一个元素

三、自定义函数

1、函数的基本语法

// 创建函数 function fun_name(参数列表) { //函数体: 由一条或多条语句组成,可以为空 }
  • 必须使用关键字:function 声明
  • 函数名称不区分大小写,多个单词推荐使用下划线连接

2、调用函数和传参

<?php function add($a = 0,$b = 0) { return $a + $b; } $i = 3; $j = 5; echo add($i,$j); ?>
  • 方法参数可以有默认值,有默认值可以不传值
  • 方法必须以返回的方式,不要用 echo 输出的方式

3、作用域

  • php中, 只有函数作用域和全局作用域
  • 所有函数作用域中的变量,外部不可见
  • 全局作用域声明变量,在函数中是可见的
<?php $name = '小明'; function name() { global $name; return '名字为:' . $name; } echo name(); ?>

__EOF__

本文作者WNAOII
本文链接https://www.cnblogs.com/WNAOII/p/14826819.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   WNAOII  阅读(143)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示