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++、NetBeans、Zend Studio、PhpStorm、Visual 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
- 切换命令行到 Apache 安装目录
cd C:\web\apache2.4\bin
- 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语句中LIKE或NOT 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复习资料(未完待续)
(未完待续,请持续关注此板块) 【计科三四】雪课堂PHP期末模拟题: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 (用于构建模型的底层逻辑) 介绍 nn.Module 是 torch.nn 中的一个类,是pytorch中自定义网络的基类 __init__需要调用super方法,继承父类属性和方法forward方法必须实现,用来定义网络的向前计算的过程…...
Linux驱动基础(SR501人体感应模块)
文章目录 前言一、SR501模块介绍二、设备树编写三、驱动编写1.确定主设备号2.编写file_operations结构体3.注册file_operations结构体4.出口函数编写5.probe函数和remove函数编写6.中断编写7.测试程序编写8.全部驱动程序 总结 前言 本篇文章将给大家介绍一下SR501驱动程序的编…...
Android Studio Flamingo (火烈鸟) 升级踩坑记录
由于想要验证Compose最新的debug特性,而我目前使用的版本(Dolphin 小海豚)不支持,查看官网说明需要最新版本,所以不得已进行了一下Android Studio版本升级,过程中遇到一些问题,本文仅做记录。&a…...
【JAVA凝气】异常篇
哈喽~大家好呀,这篇来看看JAVA异常篇。 目录 一、前言 二、Exception 异常 1、Java 的非检查性异常 2、Java 检查性异常类 三、Error 错误 四、捕获异常 五、多重捕获块 六、throws/throw 关键字 七、自定义异常类 八、图书推荐 一、前言 异常是程序中的一…...
C++中的函数模板
目录 1. 什么是函数模板? 2. 如何定义函数模板? 3. 如何使用函数模板? 4. 函数模板与函数重载的区别是什么? 5. 函数模板与类模板有何异同点? 1. 什么是函数模板? - 函数模板是一种通用的函数描述&…...
MapReduce【Shuffle-Combiner】
概述 Conbiner在MapReduce的Shuffle阶段起作用,它负责局部数据的聚合,我们可以看到,对于大数据量,如果没有Combiner,将会在磁盘上写入多个文件等待ReduceTask来拉取,但是如果有Combiner组件,我们…...
postman接口自动化测试
Postman除了前面介绍的一些功能,还有其他一些小功能在日常接口测试或许用得上。今天,我们就来盘点一下,如下所示: 1.数据驱动 想要批量执行接口用例,我们一般会将对应的接口用例放在同一个Collection中…...
历经70+场面试,我发现了大厂面试的套路都是···
今年的金三银四刚刚过去,我又想起了我在去年春招时面试了50余家,加上暑期实习面试了20余家,加起来也面试了70余场的面试场景了。 基本把国内有名的互联网公司都面了一遍,不敢说自己的面试经验很丰富,但也是不差的。 …...
可视区域兼容性问题的思考及方法封装
今日在复习可视化尺寸获取时突发奇想,为什么要在怪异模式下使用document.body.clientWidth,在标准模式下使用document.documentElement.clientWidth?以及是否在IE8及以下的版本中其中一个获取方式将返回undefined或0。 出于该问题的思考&am…...
安全工具 | CMSeeK [指纹识别]
0x00 免责声明 本文仅限于学习讨论与技术知识的分享,不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本文作者不为此承担任何责任,一旦造成后果请自行承担…...
Android新logcat使用技巧
Android新logcat使用技巧 logcat新UI出现后,我常困惑于怎么过滤log,和以前的UI差异比较大,新UI界面结构如下: 这个新的 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 模型生态系统服务功能社会价值评估(基于多源环境QGIS、PostgreSQL、ArcGIS、Maxent、R语言) 目录 第一章、理论基础与研究热点 第二章、SolVES 4.0 模型运行环境配置 第三章、SolVES 4.0 模型运行 第四章、数据获取与入…...
Godot引擎 4.0 文档 - 入门介绍 - 学习新功能
本文为Google Translate英译中结果,DrGraph在此基础上加了一些校正。英文原版页面: Learning new features — Godot Engine (stable) documentation in English 学习新功能 Godot 是一个功能丰富的游戏引擎。有很多关于它的知识。本页介绍了如何使用…...
如何进行MySQL漏洞扫描
MySQL是一款广泛使用的关系型数据库管理系统,但由于其复杂的结构和功能,也存在不少安全漏洞,容易被黑客攻击。为了解决这些安全问题,进行MySQL漏洞扫描是必要的。那么MySQL怎么进行漏洞扫描?如何进行漏洞扫描?接下来就让小编带大…...
C语言函数大全-- x 开头的函数(3)
C语言函数大全 本篇介绍C语言函数大全-- x 开头的函数 1. xdr_opaque 1.1 函数说明 函数声明函数功能bool_t xdr_opaque(XDR *xdrs, char *buf, u_int len);用于编码或解码任意长度的二进制数据 参数: xdrs : 指向 XDR 数据结构的指针,表…...
计算机图形学-GAMES101-12阴影
Shadow mapping 问题的提出 我们之前在进行着色时,对于每个物体仅考虑自己,而不考虑其他物体对它的影响。限定在光栅化中,如何解决阴影问题呢?阴影能被摄像机看到,但不能被光源所照亮。经典的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:#…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
