自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

日常笔记/总结/系列知识梳理

涉猎PC端、移动端、小程序、客户端项目开发

  • 博客(492)
  • 资源 (2)
  • 收藏
  • 关注

原创 vue页面导出Word文档(含图片)

Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。与其他庞大的框架不同,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,也便于与第三方库或已有项目整合。另一方面,当与现代化的工具和库结合使用时,Vue 也完全能够构建复杂单页应用。组件系统:Vue.js 使用组件系统来构建应用。组件是可复用的 Vue 实例,具有自己的作用域,可以包含模板、数据、样式等。响应式数据绑定:Vue 会自动跟踪依赖关系并在数据变化时更新视图。

2020-08-26 19:48:53 10721 62

原创 npm 安装指定版本(按版本安装)

注解:比如, babel 是发布时,将 ES6 代码编译成 ES5 ,那么 babel 就是devDependencies。Vue项目中vue-router,由于发布之后还是依赖vue-router,所以是dependencies。

2018-08-13 15:15:00 217882 64

原创 ECharts初始案例(入门)

ECharts是一个纯JavaScript的图表库,用于数据可视化。它提供了丰富的图表类型,如折线图、柱状图、散点图、饼图、盒形图,以及用于地理数据可视化的地图、热力图等。ECharts支持多个坐标系,包括直角坐标系、极坐标系和地理坐标系。使用ECharts可以方便地进行数据过滤、聚类、回归等操作,实现同一份数据的多维度分析。ECharts具有优雅的可视化设计,遵从可视化原则,支持响应式设计,并提供了灵活的配置项方便开发者定制。

2018-02-22 15:38:34 6080 3

原创 「C++系列」数字/随机数

在C++中,数字可以以不同的数据类型来表示,这些数据类型决定了数字的大小、范围以及它们能表示的精确度。C++提供了多种整型数据类型,以满足不同的存储需求。是一个分布,用于生成在指定范围内的均匀分布的整数。在这个例子中,我们生成的是1到100之间的整数。)提供了大量的数学函数,用于执行各种复杂的数学计算,如三角函数、对数、指数、幂运算、平方根等。在C++中,生成随机数可以通过多种方式实现,但最常用的方法是利用标准库中的。库包括多种随机数引擎和分布,你可以组合使用它们来生成符合特定分布的随机数。

2024-07-25 00:15:00 700 14

原创 「C++系列」函数/内置函数

定义函数指针时,你需要指定它所指向的函数的返回类型和参数列表(不包括函数名)。语法类似于函数声明,但用指针声明符()代替函数名。// 定义一个指向函数的指针,该函数没有参数,返回类型为int// 定义一个指向函数的指针,该函数接受一个int参数,返回类型为void// 定义一个指向函数的指针,该函数接受两个int参数,返回类型为int。

2024-07-22 00:15:00 720 6

原创 「C++系列」判断

语句是另一种在C++中用于基于不同条件执行不同代码块的语句。在C++中,判断通常是通过条件语句来实现的,这些语句允许程序根据特定条件执行不同的代码块。在C++中,判断条件的应用场景非常广泛,几乎涵盖了所有需要基于特定条件执行不同逻辑的代码场景。在排序算法中,判断条件用于比较元素的大小,以决定元素的排序顺序。:根据用户的选择(通过输入数字1、2或3)执行不同的操作。在程序中,根据不同的条件执行不同的逻辑分支是常见的需求。语句是最基本的条件语句,用于基于单个条件执行代码块。语句链接起来,以测试多个条件。

2024-07-19 00:45:00 908 15

原创 「C++系列」循环

C++中的无限循环是指一个循环体在没有任何外部干预的情况下会永远执行下去,直到程序被强制终止(如通过用户中断、系统崩溃等)。C++中的循环控制语句允许你在循环执行过程中改变其流程,比如提前退出循环或跳过某些迭代。在C++中,循环是一种重要的控制结构,它允许我们重复执行一段代码多次。:确保循环体中的操作不会消耗过多的CPU时间或内存资源,特别是在没有等待或休眠操作的紧循环中。循环是C++中最常用的循环之一,它适用于当你知道循环需要执行的确切次数时使用。循环计算用户输入的非负数的和,直到用户输入负数为止。

2024-07-17 00:15:00 972 7

原创 「C++系列」一篇文章讲透【运算符】

C++ 支持多种运算符,这些运算符用于执行算术运算、关系测试、逻辑运算、位运算、赋值以及特殊操作(如成员访问、指针解引用等)。C++中的运算符非常丰富,除了常见的算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符外,还包括其他一些重要的运算符。)使用,但它们在表达式中的行为略有不同(前缀版本在表达式求值之前改变变量的值,而后缀版本在表达式求值之后改变变量的值)。虽然这些在前面的回答中已经提及,但它们是赋值运算符的扩展,包括。等,它们将算术或位运算的结果直接赋值给左侧的变量。

2024-07-15 00:15:00 725 7

原创 「C++系列」一篇文章说透【存储类】

类是C++中用户定义的类型(UDT),用于封装数据(称为成员变量或属性)和函数(称为成员函数或方法)。类的定义不会为对象分配任何内存,它只是描述了对象的结构。// 成员函数实现。

2024-07-12 00:30:00 942 17

原创 「C++系列」C++ 修饰符类型

在C++中,修饰符(Modifiers)用于改变变量、函数、类成员等的默认行为或属性。这些修饰符可以分为几个主要的类别,包括访问修饰符(Access Modifiers)、存储类修饰符(Storage Class Specifiers)、类型修饰符(Type Modifiers)以及函数修饰符(如。这些案例将涵盖访问修饰符、存储类修饰符、类型修饰符以及函数修饰符。在C++中,类型限定符(Type Qualifiers)主要用于限制或改变变量的类型或行为。存储类修饰符决定了变量/函数的存储方式和作用域。

2024-07-10 00:15:00 2254 21

原创 「C++系列」C++ 常量知识点-细致讲解

在C++中,常量(Constant)是指其值在程序执行期间不可改变的量。常量可以是整数、浮点数、字符或字符串等类型。使用常量可以提高程序的可读性和可维护性,因为它们提供了一种方式来为程序中使用的特定值命名,这样当需要更改这些值时,就只需在定义常量的地方进行修改,而无需在代码中搜索并替换所有出现的值。C++中的布尔常量是表示逻辑真(true)和逻辑假(false)的常量,它们是bool类型的基本值。布尔常量在程序设计中扮演着重要角色,特别是在控制程序流程和逻辑判断方面。

2024-07-08 00:45:00 1251 13

原创 「C++系列」C++ 变量作用域

在C++中,全局变量是在所有函数外部定义的变量,这意味着它们在程序的整个执行期间都是可见的,并且可以从程序的任何位置访问。在C++中,类作用域(Class Scope)是指类内部定义的成员(包括成员变量和成员函数)的作用域。这些变量仅在定义它们的函数或代码块内部可见和可访问,一旦离开该作用域,这些变量就会被销毁,其占用的内存也会被释放(对于自动存储期的局部变量而言)。在C++中,变量的作用域(Scope)指的是变量在程序中可以被访问的区域。类的公有成员函数来访问和修改这些对象的私有成员变量的值。

2024-07-05 00:15:00 1636 23

原创 「C++系列」C++ 变量类型

在C++中,变量定义涉及到指定变量的类型以及变量的名称,并可能包括初始化(即给变量赋一个初始值)。下面将展示几个详细的C++变量定义及使用的案例代码。// 定义并初始化整型变量// 定义并初始化浮点型变量// 定义并初始化字符型变量// 定义布尔型变量并初始化// 输出变量值return 0;// 定义并初始化整型数组// 遍历数组并打印每个元素i < 5;// 定义结构体int age;// 定义并初始化结构体变量。

2024-07-03 00:15:00 2115 14

原创 「C++系列」C++ 数据类型

在C++中,类型转换(也称为类型强制或类型转换)是将一个数据类型的值转换为另一个数据类型的值的过程。C++支持几种类型的类型转换,包括隐式类型转换(也称为自动类型转换)和显式类型转换(也称为强制类型转换)。C++ 数据类型定义了存储在变量中的数据的种类,不同的数据类型决定了数据在内存中的存储方式,以及它们可以执行的操作。在运行时检查转换是否有效,如果转换无效(例如,将指向基类对象的指针向下转型为派生类,而该基类对象实际上并不是派生类的实例),则。隐式类型转换是编译器自动执行的,而无需程序员明确指定。

2024-07-01 00:15:00 1104 15

原创 「C++系列」C++ 基本语法

C++程序结构涵盖了程序流程结构、文件结构、编译预处理命令、命名空间和标准库等多个方面。在 C++ 中,标识符是用于标识变量、函数、类、对象、类型别名等实体的名称。C++标准库提供了大量的类和函数,用于执行各种常见的任务,如输入/输出、字符串处理、容器和算法等。C++ 是一种强大的编程语言,它支持多种编程范式,包括面向过程、面向对象和泛型编程。C++ 支持多种运算符,如算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等。在 C++ 中,你可以定义自己的函数,并在需要时调用它们。

2024-06-30 00:45:00 1275 9

原创 「C++系列」C++简介、应用领域

C++ 是一种通用、过程式、面向对象、编译式的编程语言,由 Bjarne Stroustrup 在 1980 年代初期开发,作为 C 语言的一个扩展。C++ 提供了比 C 语言更丰富的功能,特别是它支持面向对象编程(OOP),包括类、封装、继承和多态等特性。

2024-06-29 00:15:00 801 5

原创 「C系列」C 经典练习实例

C语言经典练习实例及详细代码可以涵盖多个方面,从基础输入输出到复杂算法的实现。

2024-06-28 00:15:00 1460 37

原创 「C系列」C 排序算法

将已有序的子序列合并,得到完全有序的序列;它的工作原理是首先在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。快速排序是一种高效的排序算法,它采用分而治之的策略。通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。

2024-06-27 00:45:00 1229 5

原创 「C系列」C 命令行参数

C语言命令行参数为程序提供了灵活性和可配置性。通过命令行参数,用户可以轻松地指定配置选项、处理文件、传递参数值等。在编写程序时,应该充分利用命令行参数来提高程序的灵活性和可重用性。

2024-06-26 00:15:00 1086 8

原创 「C系列」C 未定义行为(Undefined behavior)

在C语言中,未定义行为(Undefined Behavior, UB)是指程序执行时的行为,在C语言标准中没有明确规定其结果的情形。当发生未定义行为时,程序的行为可能是不可预测的,可能是非法的,或者可能是符合程序员预期的(但这是一种非常危险的情况,因为不能保证在所有情况下都如此)。未定义行为可以由多种原因引起,包括但不限于:数组越界访问访问数组时超出其定义的大小。例如,对于一个只有5个元素的数组int arr[5];,尝试访问arr[5]或arr[-1]都是未定义行为。空指针解引用。

2024-06-25 00:30:00 808 7

原创 「C系列」C 内存管理

频繁地分配和释放小块内存可能会导致内存碎片化,使得虽然总内存量充足,但无法找到足够大的连续内存块来满足新的分配请求。会尝试找到一个足够大的内存块,并将原始数据复制到新的内存块中,然后返回新的内存块的指针。:如果你忘记释放分配的内存,就会导致内存泄漏。不同的是,它分配的内存会被初始化为零,并且你需要指定元素的数量和每个元素的大小,而不是总的字节数。函数用于动态分配指定字节大小的内存块,并返回一个指向该内存块的指针。释放同一块内存两次,或者释放一个已经被释放的内存块,程序可能会崩溃或产生不可预测的行为。

2024-06-24 00:15:00 1416 16

原创 「C系列」C 可变参数

然而,需要注意的是,宏只是简单的文本替换,它不会检查参数的类型或数量,因此在使用时需要特别小心。由于 C 语言在编译时并不检查可变参数的类型和数量,因此使用可变参数时要格外小心,以避免类型不匹配或越界访问等问题。C 语言中的可变参数功能主要应用场景是在那些需要处理数量不确定的参数时,比如日志记录、格式化输出、数学函数(如求和、求积等)等。在C语言中,可变参数(variadic arguments)和宏(macros)是两个不同的概念,但它们有时可以结合使用以提供更强大和灵活的功能。函数,而不需要使用宏。

2024-06-23 00:30:00 957 5

原创 「C系列」C 递归及递归函数有哪些应用场景

在C语言中,递归是一种强大的编程技术,它允许函数直接或间接地调用自身。递归函数必须有一个或多个基本情况(base case),以便在达到某个条件时停止递归调用,否则它将无限循环下去。请注意,递归函数需要谨慎使用,因为它们可能会导致栈溢出(stack overflow)错误,特别是当递归深度非常大时。递归函数必须有一个或多个基本情况(base case),以便在达到某个条件时停止递归调用,否则它将无限循环下去。计算一个数的阶乘(factorial)是递归函数的一个经典应用。汉诺塔问题是一个经典的递归问题。

2024-06-22 00:15:00 827 5

原创 「C系列」C 错误处理

对于整数除法,当除数为零时,大多数编译器会发出警告或错误,因为这种行为在C语言标准中是未定义的(Undefined Behavior)。在C语言中,当尝试进行除法运算并且除数为零时,会触发一个运行时错误,通常被称为“被零除”或“除以零”错误。在C语言中,错误处理是一个重要的编程实践,用于确保程序在遇到错误或异常情况时能够做出适当的响应。在你的代码中,直接使用这些宏而不是硬编码具体的值是一个好习惯,因为它提高了代码的可移植性。在这个例子中,如果除数为零,程序会打印一条错误消息到标准错误流(

2024-06-21 00:45:00 1094 12

原创 「C系列」C 强制类型转换

在C语言中,当不同类型的整数参与算术运算时,会进行一系列的隐式类型转换,这些转换被称为“常用算术转换”(Usual Arithmetic Conversions)或“整数提升和转换”(Integer Promotions and Conversions)。注意:在实际编程中,应当尽量避免混合使用有符号和无符号整数进行算术运算,因为这可能导致意外的结果,尤其是当涉及到溢出和负数时。:如果两个操作数都是有符号的或都是无符号的,并且它们的类型不同,则较小类型的操作数会被转换为较大类型的操作数。

2024-06-20 00:15:00 916 6

原创 「C系列」C 头文件及引发方法/操作

用户自定义的头文件通常存放在当前项目目录或指定的其他目录中。使用双引号可以告诉编译器在当前目录或指定的包含目录中查找这些文件。示例代码假设我们有一个用户自定义的头文件myheader.h以及一个对应的源文件myheader.c,实现了\n");然后,在main.c// main.c\n");return 0;编译和链接为了编译和链接这个程序,你需要确保所有的源文件(.c文件)和头文件(.h文件)都在同一目录或编译器的包含路径中。然后,你可以使用C编译器(如 gcc)来编译和链接这些文件。

2024-06-19 00:15:00 1017 8

原创 「C系列」C 预处理器

C语言预处理器提供了一些预定义的宏,这些宏在编译时总是可用的,而无需显式地定义它们。这些预定义宏通常用于获取关于编译器和编译环境的信息。除了上述标准的预定义宏之外,不同的编译器还可能提供自己的预定义宏。例如,GCC提供了__GNUC__等宏来表示GCC的版本信息。

2024-06-18 00:15:00 1823 5

原创 「C系列」C 文件读写

等函数向文件或标准输出(如控制台)写入数据时,这些数据首先会被写入到一个内部缓冲区中,而不是直接写入到文件或输出设备。函数)也会刷新该文件的缓冲区。函数接受一个文件指针作为参数,并将该指针指向的文件的所有未写入的数据立即写入到文件中。然而,在某些情况下,你可能希望在关闭文件之前立即看到写入的数据,这时就可以使用。在读写文件时,如果发生错误(如磁盘空间不足、文件被截断等),相关的函数(如。在文件读写操作完成后,一定要关闭文件,以释放系统资源。在C语言中,文件读写是通过一系列的标准库函数来完成的,这些函数在。

2024-06-17 00:30:00 1143 10

原创 「C系列」C 输入/输出

函数时,如果用户输入了多余的数据(比如输入了一个整数后还按下了回车,但是接下来的输入需要另一个字符),那么这些数据会被留在输入缓冲区中,导致下一次。更好的做法是使用其他方法来处理这个问题,比如读取并丢弃直到遇到换行符。因此,如果你输入了一个包含空格的字符串,读取字符串时,如果用户输入的字符串长度超过了为字符数组分配的空间,就会发生缓冲区溢出。如果你需要读取包含空格的字符串,你应该使用其他方法,如。函数来查找换行符的位置,并将其替换为字符串的结尾符(同样,格式说明符(如。来清空输入缓冲区,但需要注意的是,

2024-06-16 08:00:00 1444 5

原创 「C系列」C 位域

struct {// a占用3位// b占用5位// c占用8位(即一个字节)// d占用16位(即两个字节)

2024-06-16 00:45:00 817 2

原创 「C系列」C 共用体

你可以使用union关键字来定义一个新的共用体类型。例如,以下代码定义了一个名为Data的共用体,它包含整型(int)、浮点型(float)和字符型(charint i;float f;char c;// ... 后续可以对共用体成员进行赋值和访问等操作return 0;

2024-06-16 00:15:00 1226

原创 「C系列」C 结构体

你可以使用struct关键字来定义一个新的结构体类型。例如,以下代码定义了一个名为Student的结构体,它包含学号(studentID)、姓名(name)和年龄(ageint age;首先,你需要定义结构体类型。这可以通过struct关键字来完成。// 定义一个名为Point的结构体类型,包含x和y两个整型成员int x;int y;// 定义一个名为Rectangle的结构体类型,包含两个Point类型的成员(表示左上角和右下角)

2024-06-15 00:45:00 955 7

原创 「C系列」C 字符串及操作字符串的函数

在C语言中,字符串是由字符(包括字母、数字、标点符号等)组成的序列,以空字符(null character,即)作为结尾。在C语言中,字符串不是一种基本的数据类型,但它们通常存储在字符数组(character array)中。以下是一些关于C字符串的基本概念和示例:你可以使用字符数组来存储字符串:注意,在上面的例子中,数组和会自动包含结尾的空字符。你可以像访问数组中的元素一样访问字符串中的字符:3. 字符串的长度C标准库提供了函数来计算字符串的长度(不包括结尾的空字符):4. 字符串的复制和连接C

2024-06-15 00:15:00 751 1

原创 Ant-design-vue开源项目介绍、应用场景、组件有哪些

Ant-design-vue 是一个基于 Ant Design 规范和 Vue.js 的企业级 UI 组件库。它旨在帮助开发者构建设计优雅、体验流畅的企业级应用。Ant-design-vue 是由 Ant Design 团队和 Vue.js 社区共同开发的。它结合了 Ant Design 的设计理念和 Vue.js 的技术栈优势,旨在为 Vue.js 开发者提供一套完整、易用、高质量的 UI 组件库。通过 Ant-design-vue,开发者可以更加高效、快速地构建出符合企业级应用需求的前端界面。

2024-06-14 10:15:15 2493 46

原创 「C系列」C 函数指针/回调函数

在这些情况下,当某个事件发生时,程序需要调用一个函数来处理该事件,但事先并不知道这个函数是什么。在 C 语言中,回调函数(Callback Function)是一种常用的编程模式,它允许一个函数作为参数传递给另一个函数,并在需要时被后者调用。通过函数指针,你可以在运行时调用不同的函数,或者将函数作为参数传递给其他函数。除了之前提到的简单示例之外,这里有一些更具体和复杂的回调函数示例,它们展示了回调函数在不同场景下的用法。在 C 语言中,函数指针的类型是由它们所指向的函数的参数和返回类型决定的。

2024-06-14 00:15:00 977 7

原创 「C系列」C 指针及其应用案例

在C语言中,指针是一个非常重要的概念,它允许程序直接访问内存地址,并操作该地址上存储的数据。指针本身是一个变量,但它存储的不是实际的数据值,而是存储数据值的内存地址。

2024-06-13 07:45:00 1547 12

原创 「C系列」C enum(枚举)

QUIT,NEW_GAME,LOAD_GAME,HELP// 注意:这里使用了int来读取输入,因为枚举值在内存中仍然是整数case QUIT:break;break;// ... 其他选项的处理default:break;return 0;// ... 其他错误码// 假设这里有一些文件打开的逻辑if (/* 文件不存在 */) {if (/* 参数无效 */) {

2024-06-12 00:15:00 840 9

原创 2024年,计算机相关专业还值得选择吗? 又该如何判断自己是否适合这类专业呢?

同时,随着技术的不断发展和市场的变化,计算机专业的学生也需要不断学习和提升自己的能力,以适应未来的职业发展需求。你需要了解自己的兴趣、能力、职业规划等方面的信息,同时也需要了解专业的课程设置、教学方式、就业前景等方面的信息。站在高考生这个分岔路口上,选择是否适合计算机科学与技术、人工智能、网络安全、软件工程等这类专业,确实是一个需要深思熟虑的问题。其次,从技术发展的角度来看,这些专业所涵盖的技术领域都是当前和未来技术发展的重要方向。最后,从个人发展的角度来看,这些专业也为学生提供了广阔的职业发展空间。

2024-06-11 16:42:51 1092 5

原创 「C系列」C 数组

如果你试图访问一个不存在的数组元素(即索引超出了数组的大小),你将会得到一个未定义的行为,这可能导致程序崩溃或产生意外的结果。在C语言中,数组是一种数据结构,用于存储相同类型的元素的集合。数组的大小在创建时确定,并且在整个数组的生命周期内保持不变。C语言中的数组是静态的,意味着一旦创建,就不能改变其大小。C 数组在编程中有广泛的应用场景,包括但不限于存储固定数量的数据、实现算法(如排序、搜索等)、处理数据集合等。这些示例展示了 C 数组在不同场景中的应用,从简单的数据存储到复杂的算法实现。

2024-06-11 00:15:00 1095 10

原创 「C系列」C 作用域规则

理解这些作用域规则有助于你编写更加清晰、可维护的C语言代码。在编写代码时,应尽量避免使用全局变量,因为它们可能会导致命名冲突和数据安全问题。在C语言中,作用域(Scope)是指程序中定义的变量和函数可以被引用的区域。理解作用域规则对于编写清晰、可维护的代码至关重要。这些案例代码涵盖了C语言中不同的作用域规则,并展示了如何在代码中使用它们。请注意,在尝试访问不可见的变量时,编译器会报错。下面是一些详细的C语言作用域规则案例代码,用于说明不同作用域下的变量访问和可见性。

2024-06-10 00:45:00 956 4

PHP7 新特性:标量类型声明、返回值类型声明.md

在 PHP 7 及以后的版本中,引入了类型声明,包括标量类型声明(scalar type declarations)。标量类型是指那些基本的数据类型,如整数(integer)、浮点数(float)、字符串(string)和布尔值(boolean)。

2024-06-13

PHP7 新特性:合并运算符、太空船运算符(组合比较符).md

在 PHP 7.0 中,引入了一个新的运算符,称为 NULL 合并运算符(Null Coalescing Operator),它使用 `??` 符号。这个运算符用于简化检查一个变量是否为 `NULL` 并提供一个默认值的过程。 在以前的 PHP 版本中,如果你想要检查一个变量是否为 `NULL` 并设置一个默认值

2024-06-13

PHP7 新特性:常量数组、匿名类、Closure-call().md

在 PHP 中,你不能直接将一个数组定义为常量,因为常量是值(scalar values),如字符串、整数或浮点数,而不是变量或数组等复合数据结构。然而,你可以通过一些方法模拟常量数组的行为。 一种常见的方法是使用一个类来保存这些“常量”数组,并使用静态属性来访问它们。

2024-06-13

PHP7 新特性:unserialize、 IntlChar、CSPRNG.md

在 PHP 中,`unserialize()` 函数用于将已存储的序列化字符串转换回 PHP 的值。然而,`unserialize()` 函数存在安全风险,因为它可能允许执行恶意代码或产生意外的行为,尤其是当反序列化的数据来自不可信的源时。 要安全地使用 `unserialize()`,你可以采取以下措施: 1. **验证和过滤输入**: - 确保你知道序列化的数据是如何生成的,并且它来自一个可信的源。 - 使用白名单验证来确保输入只包含预期的类和属性。 - 你可以尝试使用正则表达式或其他方法来检查序列化的字符串是否符合预期的格式。但是,请注意,这种方法可能并不完全可靠,因为序列化字符串的格式可能会随着 PHP 版本的更新而发生变化。 2. **使用安全的反序列化库**: - 考虑使用第三方库,如 `safe-unserialize`,它提供了更安全的反序列化功能。这些库通常通过限制允许反序列化的类和属性来降低风险。

2024-06-13

PHP7 新特性:use语句、intdiv() 函数、Session 选项.md

# 一、use语句 在 PHP 7 中,`use` 语句通常与命名空间(namespaces)一起使用,用于导入(引入)类或函数到当前命名空间,或者为它们提供别名以避免命名冲突。以下是 `use` 语句的几种用法及其案例代码: ## 1. 导入类 假设我们有一个名为 `App\Models` 的命名空间,其中有一个名为 `User` 的类。我们可以使用 `use` 语句来导入这个类,以便在代码中直接使用它,而不需要每次都使用完整的命名空间路径。

2024-06-13

PHP MySQL 简介及运用.md

PHP MySQL是一个结合了PHP和MySQL的组合,用于在Web应用程序中处理数据库操作。 1. **MySQL**: * **定义**:MySQL是一个流行的开源关系型数据库管理系统(RDBMS),用于存储、检索、更新和管理数据。 * **特点**: + **快速、可靠**:MySQL在性能上表现出色,支持大量并发用户和高负载场景。 + **易于使用**:提供了直观的SQL(结构化查询语言)接口,使开发人员能够轻松地与数据库进行交互。 + **支持标准SQL**:MySQL遵循SQL标准,这意味着开发人员可以使用熟悉的SQL语法来执行查询和操作。 + **可扩展性**:MySQL支持多种存储引擎,如InnoDB、MyISAM等,可以根据应用需求选择适合的存储引擎。 + **免费**:MySQL是免费提供的,降低了开发成本。 * **由谁开发**:MySQL最初由瑞典公司MySQL AB开发,后来被Sun Microsystems收购,最终又被Oracle公司收购。

2024-06-13

PHP MySQL 创建数据库:创建表:插入数据.md

要在 PHP 中使用 MySQL 创建数据库,你通常不能直接通过 PHP 脚本直接在数据库服务器上执行这个操作,因为创建数据库通常是一个管理员级别的操作,需要更高的权限。但是,如果你确实拥有足够的权限,并且出于某种原因需要在 PHP 脚本中执行此操作,你可以使用 `mysqli` 或 `PDO` 扩展来连接到 MySQL 服务器并执行 SQL 语句来创建数据库。

2024-06-13

PHP MySQL 预处理语句:读取数据:Where子句.md

在 PHP 中使用 MySQL 预处理语句(prepared statements)是一种推荐的方式来执行数据库操作,特别是当涉及到用户输入时。预处理语句可以帮助防止 SQL 注入攻击,因为它们会将数据与 SQL 查询语句分开处理。

2024-06-13

PHP MySQL Order By:Update:Delete.md

在 PHP 中使用 MySQL 时,如果你想要按照某个字段(或字段的组合)对查询结果进行排序,你可以使用 `ORDER BY` 子句。`ORDER BY` 子句允许你指定一个或多个字段,并指定排序方向(升序 `ASC` 或降序 `DESC`)。

2024-06-13

PHP XML Expat 解析器.md

**XML(Extensible Markup Language,可扩展标记语言)** 是一种用于编码文档的标记语言,其焦点是数据的内容和意义,旨在传输和存储数据。XML 的标签没有被预定义,需要用户自行定义。XML 被设计为具有自我描述性,且是易于让人阅读的。 **XML 的主要特点包括:** 1. **可扩展性**:用户可以定义自己的标签,使得XML文件可以根据特定的需求进行定制。 2. **简单性**:XML 是一种简单的数据格式,纯文本格式,可以使用任何文本编辑器打开和编辑。 3. **开放性**:XML 是基于标准的文本格式,独立于平台和应用程序。 4. **互操作性**:XML 可以在不同的系统之间交换数据,因为 XML 数据是以纯文本格式存储的,所以不受编程语言和操作系统的限制。 5. **自描述性**:XML 文档可以包含文档类型定义(DTD)或模式(schema),以描述数据的结构和内容。 XML 在许多领域都有广泛的应用,如网页开发、数据交换、配置文件、电子出版等。与 HTML 相比,XML 更注重数据的存储和传输,而不是数据的显示。

2024-06-13

PHP DOM扩展库:SimpleXML 解析XML文档.md

DOM (Document Object Model) 是一种编程接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM 将文档(如 HTML 或 XML)解析为一个由节点(如元素节点、属性节点、文本节点等)和对象组成的结构集合,这些节点和对象可以通过一系列属性和方法进行访问和修改。 1. **结构**:DOM 将文档解析为一个树形结构,其中每个节点都是一个对象。这个树形结构被称为 DOM 树。 2. **节点类型**:DOM 定义了多种节点类型,包括元素节点(如 `<p>`、`<div>` 等)、属性节点、文本节点、注释节点等。 3. **属性和方法**:每个 DOM 节点都有一系列属性和方法,用于访问和修改节点的信息。例如,你可以使用 `innerHTML` 属性获取或设置元素的内容,使用 `appendChild()` 方法向元素添加子节点。 4. **动态性**:由于 DOM 是编程接口,因此可以通过脚本(如 JavaScript)动态地创建、修改和删除文档的内容、结构和样式。这使得网页具有交互性和动态性。 5. **跨浏览器兼容性**:虽然不同的浏览器可能对

2024-06-13

「PHP系列」PHP AJAX运用.md

AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个页面的情况下,能够更新部分网页的技术。通过AJAX,你可以创建快速动态网页应用,将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面。 AJAX的一些关键组成部分和特性: 1. **异步通信**:AJAX使用异步方式与服务器进行通信,这意味着浏览器在等待服务器响应时不会阻塞用户界面的其他操作。 2. **浏览器兼容性**:虽然AJAX的名字中包含了“XML”,但实际上它可以使用任何数据格式,包括JSON、纯文本等。这使得AJAX能够在不同的浏览器和平台上得到广泛的应用。 3. **JavaScript**:AJAX使用JavaScript在客户端处理用户的请求和响应,从而在不干扰用户体验的情况下动态更新网页内容。 4. **HTTP请求**:AJAX通过发送HTTP请求(如GET、POST等)与服务器进行通信,获取或发送数据。 5. **DOM操作**:一旦服务器响应被接收,AJAX使用JavaScript来解析这些数据,并通过DOM(Document Object Model)操

2024-06-13

「PHP系列」PHP AJAX运用之数据库实例:XML实例.md

# 一、AJAX 数据库实例 一个PHP和AJAX结合使用来从数据库获取数据并更新页面内容的实例。在这个例子中,我们将使用一个简单的MySQL数据库和HTML表单来触发AJAX请求。 ## 1. 创建数据库和表 首先,你需要在MySQL数据库中创建一个表来存储数据。例如,你可以创建一个名为`users`的表,其中包含`id`、`name`和`email`字段。 ## 2. HTML页面 (index.html) 在这个页面中,我们将有一个简单的表单,用户可以通过输入用户名来查询数据库。同时,我们还将有一个用于显示查询结果的`<div>`元素。

2024-06-13

「Python系列」Python 多线程.md

「Python系列」Python 多线程

2024-06-13

「Python系列」Python 内置函数.md

「Python系列」Python 内置函数

2024-06-13

「Python系列」Python MySQL.md

「Python系列」Python MySQL

2024-06-13

「Python系列」Python 日期和时间.md

「Python系列」Python 日期和时间

2024-06-13

「Python系列」Python MongoDB.md

「Python系列」Python MongoDB

2024-06-13

「Python系列」Python JSON数据解析.md

「Python系列」Python JSON数据解析

2024-06-13

「Python系列」Python CGI编程.md

「Python系列」Python CGI编程

2024-06-13

2024年,计算机相关专业还值得选择吗? 又该如何判断自己是否适合这类专业呢?.md

- 计算机科学与技术、人工智能、网络安全、软件工程等专业在过去十年间蓬勃发展,互联网和科技公司不断涌现,为计算机专业人才提供了大量的就业机会。 - 计算机专业学生的就业方向包括数据恢复工程师、安卓开发工程师、计算机系统维护、网络管理、程序设计等多个领域,这些领域都需要计算机专业人才。 - 计算机专业就业前景很好,特别是在一线城市,有3-5年工作经验的工程师月薪普遍较高,即使是计算机专业的实习生也可以获得相对较好的薪资待遇。

2024-06-13

Eva.js是什么(互动小游戏开发).md

Eva.js 是一个专注于开发互动游戏项目的前端游戏引擎。 - **易用**:Eva.js 提供开箱即用的游戏组件供开发人员立即使用。是的,它简单而优雅! - **高性能**:Eva.js 由高效的运行时和渲染管道 (Pixi.JS) 提供支持,这使得释放设备的全部潜力成为可能。 - **可扩展**:得益于 ECS(实体-组件-系统)架构,你可以通过高度可定制的 API 扩展您的需求。唯一的限制是你的想象力!

2024-06-13

PHP数组排序及运用场景.md

PHP 提供了多种数组排序函数,允许你根据数组元素的值或键进行排序。

2024-06-13

PHP超级全局变量详解.md

`$GLOBALS` 是一个超全局变量,在 PHP 中用于访问全局作用域内的所有变量。这个超全局变量实际上是一个包含所有全局变量的数组。你可以通过 `$GLOBALS` 数组来访问和修改全局作用域中的任何变量,即使在函数或方法内部。

2024-06-13

PHP 函数详解,PHP 是一种流行的服务器端脚本语言,它提供了大量的内置函数.md

PHP 是一种流行的服务器端脚本语言,它提供了大量的内置函数,用于执行各种任务,如字符串操作、文件处理、数据库连接等。

2024-06-13

PHP预定义常量详解.md

PHP 提供了许多预定义常量,这些常量在 PHP 脚本执行期间始终是可用的。它们通常用于提供关于 PHP 版本、操作系统、服务器软件等的信息。

2024-06-13

PHP 命名空间详解.md

PHP 的命名空间(Namespace)是 PHP 5.3.0 版本之后引入的一个功能,用于解决类名冲突的问题,并更好地组织代码。通过使用命名空间,你可以将相关的类、接口、函数和常量组合在一起,形成一个逻辑上的代码单元,从而避免不同库或框架中的类名冲突。

2024-06-13

PHP面向对象详解.md

PHP 是一种广泛使用的服务器端脚本语言,它支持面向对象的编程(OOP)范式。面向对象编程是一种编程方法,它使用“对象”来设计应用程序和软件。在面向对象的 PHP 中,你可以创建类来定义对象的结构和行为,然后创建这些类的对象来执行特定的任务。

2024-06-13

PHP表单及表单验证详解.md

PHP 表单用于收集用户输入的数据,并将这些数据发送到服务器进行处理。在 PHP 中,通常使用 HTML 表单来收集用户输入,然后通过 PHP 脚本处理这些数据。

2024-06-13

PHP $-GET变量:$POST变量.md

在 PHP 中,`$_GET` 是一个超全局变量,用于收集表单数据(当 method="get" 时)或者通过 URL 参数传递的数据。当用户点击一个带有查询字符串(即 URL 中"?"后面的部分)的链接时,或者提交一个 method 属性为 "get" 的表单时,这些数据就会被发送到服务器,并可以通过 `$_GET` 数组在 PHP 脚本中访问。

2024-06-13

PHP 多维数组详解.md

在 PHP 中,多维数组是一个数组,其元素也是数组。这允许你创建复杂的数据结构,以存储和组织各种类型的数据。

2024-06-13

PHP常用函数及方法详解: date()函数、include:require 语句.md

`date()` 是 PHP 中的一个内置函数,用于格式化日期和时间。它可以根据指定的格式返回当前日期或时间的字符串表示形式。

2024-06-13

PHP文件处理及文件上传详解.md

PHP 提供了丰富的文件处理功能,使得开发者可以方便地在服务器端进行文件的创建、读取、写入、删除等操作。

2024-06-13

PHP Cookie:Session详解.md

在PHP中,Cookie是一种用于在浏览器和服务器之间传递信息的机制。它通常用于跟踪用户的会话状态、存储用户的偏好设置或实现其他需要跨请求保持状态的功能。

2024-06-13

PHP 发送电子邮件详解.md

在 PHP 中,你可以使用内置的 `mail()` 函数来发送电子邮件。然而,`mail()` 函数在发送邮件时依赖于服务器上的邮件发送工具(如 sendmail),因此,你可能需要确保你的服务器已经配置好了邮件发送功能。 此外,如果你想要更多的控制和灵活性,你也可以使用第三方库,如 PHPMailer 或 SwiftMailer。这些库提供了更强大的功能,如 SMTP 认证、HTML 邮件、附件等。

2024-06-13

PHP E-mail 注入:防止注入.md

PHP E-mail 注入是一种安全漏洞,攻击者尝试通过向邮件发送功能输入恶意数据,来操纵邮件的头部或内容,从而可能执行未授权的操作或窃取信息。尽管现代的邮件发送库和函数已经对这类攻击有所防范,但了解这种攻击的原理和如何防范它仍然是非常重要的。

2024-06-13

PHP Error(错误处理)讲解.md

在 PHP 中,`die()` 函数是一个简单而直接的方式来处理错误并终止脚本的执行。当调用 `die()` 函数时,它会输出一条消息并立即退出脚本。这通常用于在发生致命错误时向用户显示一条错误消息,并阻止脚本继续执行。

2024-06-13

PHP Exception(异常处理).md

PHP异常处理是一种机制,用于在程序执行期间捕获和处理错误或异常情况。当程序遇到无法处理的错误时,它可以抛出一个异常,然后将控制权转移给能够处理该异常的代码。这种机制有助于将错误处理代码与正常的业务逻辑代码分离开来,使代码更加清晰、可维护。

2024-06-13

PHP 过滤器,用于对输入和输出数据进行验证和过滤.md

PHP 提供了过滤器(Filter)扩展,用于对输入和输出数据进行验证和过滤。过滤器可以帮助您清理用户输入、防止跨站脚本攻击(XSS)和其他安全漏洞,并确保数据的完整性和准确性。 PHP 过滤器扩展提供了一组预定义的过滤器,您可以使用它们来执行常见的验证和过滤任务。常用的 PHP 过滤器: 1. FILTER_VALIDATE_BOOLEAN:验证一个值是否为布尔值。 2. FILTER_VALIDATE_EMAIL:验证一个值是否为有效的电子邮件地址。 3. FILTER_VALIDATE_FLOAT:验证一个值是否为合法的浮点数。 4. FILTER_VALIDATE_INT:验证一个值是否为合法的整数。 5. FILTER_VALIDATE_IP:验证一个值是否为有效的 IP 地址。 6. FILTER_VALIDATE_REGEXP:验证一个值是否匹配指定的正则表达式。 7. FILTER_VALIDATE_URL:验证一个值是否为有效的 URL。 8. FILTER_SANITIZE_STRING:去除字符串中的标签和特殊字符。

2024-06-13

PHP JSON详解.md

PHP 支持 JSON(JavaScript Object Notation)的编码和解码。JSON 是一种轻量级的数据交换格式,它基于 JavaScript 的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在 PHP 中,你可以使用 `json_encode()` 函数将 PHP 数组或对象转换为 JSON 格式的字符串,使用 `json_decode()` 函数将 JSON 格式的字符串转换为 PHP 数组或对象。

2024-06-13

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除