当前位置: 首页 > news >正文

PHP复习资料(未完待续)

(未完待续,请持续关注此板块)
【计科三四】雪课堂PHP期末模拟题:https://ks.wjx.top/vm/tUAmjxq.aspx#
【计科一二】PHP第一章练习题 https://ks.wjx.top/vm/QnjHad4.aspx#
【计科一二】PHP第二章练习题 https://ks.wjx.top/vm/h2FvEVI.aspx#
【计科一二】PHP第三章练习题 https://ks.wjx.top/vm/mDvpYRP.aspx#
【计科一二】PHP第四章练习题 https://ks.wjx.top/vm/Pj7n0AW.aspx#
【计科一二】PHP第五章练习题 暂无
【计科一二】PHP第六章练习题 暂无
【计科一二】PHP第七章练习题 暂无

以下内容都是博主根据上面的练习题逆向整理的

第1章

1.1 PHP入门

PHP开发环境有:Notepad++NetBeansZend StudioPhpStormVisual Studio Code

PHP可以在 windows环境上跑,也可以在linux环境下运行

PHP是基于B/S架构的脚本语言,运行于服务器端,不能通过浏览器运行

1.2 Apache

Apache 默认监听的端口号是 80

安装Apache 时,conf目录是Apache服务器的配置目录

  • 主文件配置:httpd.conf
  • 辅文件配置:extra目录下的httpd-vhosts.conf

默认情况下,辅配置文件不开启。
在这里插入图片描述

1.2.1 配置 Apache

在这里插入图片描述

将Apache解压后,需要配置安装路径才可以使用
(安装完还不能直接使用)

Apache默认是不支持PHP运行的,我们可以通过在Apache的配置文件中加载PHP模块功能。

1、加载模块
LoadModule php7_module “c:/web/php7.4/php7apache2_4.dll”
2、指定php的文件类型
AddType application/x-httpd-php .php
3、指定配置目录
PHPIniDir “c:/web/php7”

配置安装路径

ServerRoot配置项用于配置Apache的安装目录

使用Notepad++编辑器打开Apache的配置文件“htdocs\httpd.conf”,执行文本替换,将原来的“c:/Apache24”全部替换为“c:/web/apache2.4”。

配置服务器域名

ServerName 配置项用于配置Apache的服务器域名

打开 httpd.conf,在里面搜索“ServerName”,找到下面一行配置(如下面的代码块)。下述代码开头的“#”表示该行是注释文本,应删去“#”使其生效,如下所示。

#ServerName www.example.com:80

上述配置中,“www.example.com”是一个示例域名,若不需要指定域名,也可以更改为本机地址,如“127.0.0.1”或“localhost”。

ServerName www.example.com:80

其他配置项

DocumentRoot指令用来设置httpd提供服务的目录。即你所在项目入口处的文件夹。

Deny from all 表示拒绝所有的访问
Allow from all 表示允许所有的访问

1.2.2 安装 Apache

  1. 切换命令行到 Apache 安装目录
cd C:\web\apache2.4\bin
  1. Apache核心安装命令: httpd.exe -k install

1.2.3 启动 Apache

在命令提示符下输入net start apache2.4命令来启动apache2.4服务

1.2.4 其他

通过编辑apache配置文件httpd.conf,找到AddType application/x-httpd-php 进行修改,修改为:AddType application/x-httpd-php .php .jsp,这样PHP就可以执行扩展名为“.jsp”的程序。

1.3 MySQL

MySQL 的默认端口:3306

当需要使用PHP操作MySQL数据库时,需要在php.ini文件中开启的扩展为extension=php_mysqli.dll

DDL

查看数据库:SHOW DATABASES; (查看已有的数据库)
创建数据库:CREATE DATABASE `db`; (创建一个名称为db的数据库)
选择数据库:USE `db`; (选择数据库db进行操作)
删除数据库:`DROP DATABASE `db`; (删除数据库db)

在这里插入图片描述

DTL

在这里插入图片描述

DML

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其他

在查询SQL语句中LIKENOT LIKE用于模糊查询,% 表示一个或多个字符

第二章

2.1 PHP的数据类型

  • 标量数据类型:String(字符串)、Integer(整型)、Float(浮点型)、Boolean(布尔型)
  • 复合数据类型:Array(数组)、Object(对象)
  • 特殊数据类型:NULL(空值)、Resource(资源)

2.2 PHP 传值赋值 和 引用赋值

PHP 支持引用赋值,使用$var = &$othervar;语法。
引用赋值意味着两个变量指向了同一个数据,没有拷贝任何东西。

示例:

<?php
$a = 10;
$b = &$a;
$b = 20;
echo $a. '--'. $b;
// 运行结果:20--20
?>

2.3 PHP中的 foreach 循环

<?php
$info = ['id' => 1, 'Jac', 'age' => 18];
foreach ($info as $k => $v) {echo $k . ': ' . $v . ' ';
}
// 运行结果:id: 1 0: Jac age: 18

2.4 && || and or的区别

优先级从高到低:&& > || > and >> or

  • && 和 || 的优先级高于 and 和 or
  • && 和 || 是左结合的,而 and 和 or 是右结合的
  • && 和 || 的运算结果是布尔值,而 and 和 or 的运算结果是最后一个计算的操作数

举个例子:

<?php
$a = true;
$b = false;
$c = true;var_dump($a && $b || $c); // bool(true)
var_dump($a and $b || $c); // bool(false)var_dump($a || $b && $c); // bool(true)
var_dump($a or $b && $c); // bool(true)var_dump(true && false); // bool(false)
var_dump(true and false); // bool(true)
?>

2.5 round(), floor(), ceil() 的区别

在PHP中,round()、floor()、ceil()都是用于处理数字的函数,它们的主要区别如下:

  • round():把一个浮点数四舍五入为最接近的整数。如果小数部分为0.5,则根据偶数舍去或进位。
  • floor():把一个浮点数向下取整为最接近的整数。即舍去小数部分,返回不大于原数的整数。
  • ceil():把一个浮点数向上取整为最接近的整数。即进位到最接近的整数,返回不小于原数的整数。

总的来说,round()函数在处理小数时比较精确,而floor()和ceil()函数主要用于处理需要向下或向上取整的情况。

2.6 可变变量

在 PHP 中,可变变量是一种非常独特的特性,它允许您动态地为变量赋值,并且通过对变量名进行操作,来访问和修改该变量的值。

可变变量的语法是在变量名前面加上两个美元符号($$)。例如,假设您有一个名为$var的变量,您可以创建一个可变变量,以便它的名称由另一个变量$var1指定:

$var = 'Hello World!';
$var1 = 'var';
echo $$var1; // Hello World!

这将输出 ‘Hello World!’,因为可变变量$$var1实际上是$var

可变变量在某些情况下非常有用,例如在使用 关联数组 时,您可以动态地为数组项赋值:

$fruit = 'apple';
$$fruit = 5;
echo $apple; // 5

这将输出 5,因为通过可变变量,我们为数组项 $apple 赋值为5。

需要注意,可变变量在某些情况下可能会使您的代码更难以阅读和维护,因此应该谨慎使用。

2.? 使用字符串函数获取文件的扩展名

<?php
$file_name = "apple.jpg";
$file_array = explode(".", $file_name);
$file_ext = end($file_array);
echo $file_ext;
// 运行结果:jpg

相关文章:

PHP复习资料(未完待续)

&#xff08;未完待续&#xff0c;请持续关注此板块&#xff09; 【计科三四】雪课堂PHP期末模拟题&#xff1a;https://ks.wjx.top/vm/tUAmjxq.aspx# 【计科一二】PHP第一章练习题 https://ks.wjx.top/vm/QnjHad4.aspx# 【计科一二】PHP第二章练习题 https://ks.wjx.top/vm/h2…...

【python】pytorch包(第二章)API使用与介绍

1> nn.Module &#xff08;用于构建模型的底层逻辑&#xff09; 介绍 nn.Module 是 torch.nn 中的一个类&#xff0c;是pytorch中自定义网络的基类 __init__需要调用super方法&#xff0c;继承父类属性和方法forward方法必须实现&#xff0c;用来定义网络的向前计算的过程…...

Linux驱动基础(SR501人体感应模块)

文章目录 前言一、SR501模块介绍二、设备树编写三、驱动编写1.确定主设备号2.编写file_operations结构体3.注册file_operations结构体4.出口函数编写5.probe函数和remove函数编写6.中断编写7.测试程序编写8.全部驱动程序 总结 前言 本篇文章将给大家介绍一下SR501驱动程序的编…...

Android Studio Flamingo (火烈鸟) 升级踩坑记录

由于想要验证Compose最新的debug特性&#xff0c;而我目前使用的版本&#xff08;Dolphin 小海豚&#xff09;不支持&#xff0c;查看官网说明需要最新版本&#xff0c;所以不得已进行了一下Android Studio版本升级&#xff0c;过程中遇到一些问题&#xff0c;本文仅做记录。&a…...

【JAVA凝气】异常篇

哈喽~大家好呀&#xff0c;这篇来看看JAVA异常篇。 目录 一、前言 二、Exception 异常 1、Java 的非检查性异常 2、Java 检查性异常类 三、Error 错误 四、捕获异常 五、多重捕获块 六、throws/throw 关键字 七、自定义异常类 八、图书推荐 一、前言 异常是程序中的一…...

C++中的函数模板

目录 1. 什么是函数模板&#xff1f; 2. 如何定义函数模板&#xff1f; 3. 如何使用函数模板&#xff1f; 4. 函数模板与函数重载的区别是什么&#xff1f; 5. 函数模板与类模板有何异同点&#xff1f; 1. 什么是函数模板&#xff1f; - 函数模板是一种通用的函数描述&…...

MapReduce【Shuffle-Combiner】

概述 Conbiner在MapReduce的Shuffle阶段起作用&#xff0c;它负责局部数据的聚合&#xff0c;我们可以看到&#xff0c;对于大数据量&#xff0c;如果没有Combiner&#xff0c;将会在磁盘上写入多个文件等待ReduceTask来拉取&#xff0c;但是如果有Combiner组件&#xff0c;我们…...

postman接口自动化测试

Postman除了前面介绍的一些功能&#xff0c;还有其他一些小功能在日常接口测试或许用得上。今天&#xff0c;我们就来盘点一下&#xff0c;如下所示&#xff1a; 1.数据驱动     想要批量执行接口用例&#xff0c;我们一般会将对应的接口用例放在同一个Collection中&#xf…...

历经70+场面试,我发现了大厂面试的套路都是···

今年的金三银四刚刚过去&#xff0c;我又想起了我在去年春招时面试了50余家&#xff0c;加上暑期实习面试了20余家&#xff0c;加起来也面试了70余场的面试场景了。 基本把国内有名的互联网公司都面了一遍&#xff0c;不敢说自己的面试经验很丰富&#xff0c;但也是不差的。 …...

可视区域兼容性问题的思考及方法封装

今日在复习可视化尺寸获取时突发奇想&#xff0c;为什么要在怪异模式下使用document.body.clientWidth&#xff0c;在标准模式下使用document.documentElement.clientWidth&#xff1f;以及是否在IE8及以下的版本中其中一个获取方式将返回undefined或0。  出于该问题的思考&am…...

安全工具 | CMSeeK [指纹识别]

0x00 免责声明 本文仅限于学习讨论与技术知识的分享&#xff0c;不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;本文作者不为此承担任何责任&#xff0c;一旦造成后果请自行承担…...

Android新logcat使用技巧

Android新logcat使用技巧 logcat新UI出现后&#xff0c;我常困惑于怎么过滤log&#xff0c;和以前的UI差异比较大&#xff0c;新UI界面结构如下&#xff1a; 这个新的 logcat 的问题是如何过滤信息并不是很明显。 获取应用的日志信息 要获取我们当前调试应用的日志信息&…...

使用Makefile笔记总结

文章目录 一、简单了解Makefile1.1 Makefile示例1.2 基本规则1.3 make是如何工作的1.4 使用变量1.5 make自动推导 二、变量2.1 变量的定义和引用2.2 变量的两种高级用法2.3 override 和 define 关键字2.4 环境变量与目标变量2.5 自动变量 三、Makefile规则3.1 通配符3.2 目标依…...

npm下载依赖项目跑不起来--解决方案

code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: vue-element-admin4.4.0 npm ERR! Found: webpack4.46.0 npm ERR! node_modules/webpack npm ERR! webpack“^4.23.0” from the root project npm ERR! npm ERR! Coul…...

SolVES模型生态系统服务功能社会价值评估

查看原文>>>SolVES 模型生态系统服务功能社会价值评估&#xff08;基于多源环境QGIS、PostgreSQL、ArcGIS、Maxent、R语言&#xff09; 目录 第一章、理论基础与研究热点 第二章、SolVES 4.0 模型运行环境配置 第三章、SolVES 4.0 模型运行 第四章、数据获取与入…...

Godot引擎 4.0 文档 - 入门介绍 - 学习新功能

本文为Google Translate英译中结果&#xff0c;DrGraph在此基础上加了一些校正。英文原版页面&#xff1a; Learning new features — Godot Engine (stable) documentation in English 学习新功能 Godot 是一个功能丰富的游戏引擎。有很多关于它的知识。本页介绍了如何使用…...

如何进行MySQL漏洞扫描

MySQL是一款广泛使用的关系型数据库管理系统&#xff0c;但由于其复杂的结构和功能&#xff0c;也存在不少安全漏洞&#xff0c;容易被黑客攻击。为了解决这些安全问题&#xff0c;进行MySQL漏洞扫描是必要的。那么MySQL怎么进行漏洞扫描?如何进行漏洞扫描?接下来就让小编带大…...

C语言函数大全-- x 开头的函数(3)

C语言函数大全 本篇介绍C语言函数大全-- x 开头的函数 1. xdr_opaque 1.1 函数说明 函数声明函数功能bool_t xdr_opaque(XDR *xdrs, char *buf, u_int len);用于编码或解码任意长度的二进制数据 参数&#xff1a; xdrs &#xff1a; 指向 XDR 数据结构的指针&#xff0c;表…...

计算机图形学-GAMES101-12阴影

Shadow mapping 问题的提出 我们之前在进行着色时&#xff0c;对于每个物体仅考虑自己&#xff0c;而不考虑其他物体对它的影响。限定在光栅化中&#xff0c;如何解决阴影问题呢&#xff1f;阴影能被摄像机看到&#xff0c;但不能被光源所照亮。经典的Shadow mapping只能处理…...

iOS_Swift高阶函数

iOS_Swift高阶函数 #mermaid-svg-NxX1czIESDq47OQw {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-NxX1czIESDq47OQw .error-icon{fill:#552222;}#mermaid-svg-NxX1czIESDq47OQw .error-text{fill:#552222;stroke:#…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...

Python学习(8) ----- Python的类与对象

Python 中的类&#xff08;Class&#xff09;与对象&#xff08;Object&#xff09;是面向对象编程&#xff08;OOP&#xff09;的核心。我们可以通过“类是模板&#xff0c;对象是实例”来理解它们的关系。 &#x1f9f1; 一句话理解&#xff1a; 类就像“图纸”&#xff0c;对…...

echarts使用graphic强行给图增加一个边框(边框根据自己的图形大小设置)- 适用于无法使用dom的样式

pdf-lib https://blog.csdn.net/Shi_haoliu/article/details/148157624?spm1001.2014.3001.5501 为了完成在pdf中导出echarts图&#xff0c;如果边框加在dom上面&#xff0c;pdf-lib导出svg的时候并不会导出边框&#xff0c;所以只能在echarts图上面加边框 grid的边框是在图里…...

Canal环境搭建并实现和ES数据同步

作者&#xff1a;田超凡 日期&#xff1a;2025年6月7日 Canal安装&#xff0c;启动端口11111、8082&#xff1a; 安装canal-deployer服务端&#xff1a; https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...