网络安全入门学习第十五课——PHP基础

news2024/10/7 19:23:13

文章目录

  • 一、WEB技术
    • 1、什么是web
    • 2、B/S架构
    • 3、C/S架构
  • 二、PHP概述
    • 1、PHP是什么
    • 2、PHP受欢迎的原因
    • 3、基于MVC模式的PHP框架
    • 4、常用编译工具
    • 5、PHP环境搭建
    • 6、开发工具
  • 三、PHP基本语法格式
    • 1、标记
    • 2、输出语句
    • 3、注释
    • 4、标识符
  • 四、数据与运算
    • 1、常量
      • 1.1、常量定义
      • 1.2、预定义常量
    • 2、变量
      • 2.1、变量赋值
      • 2.2、超级全局变量
    • 3、数据类型
      • 3.1、标量数据类型
      • 3.2、php 特殊数据类型
      • 3.3、数据类型检测
      • 3.4、数据类型检测函数
      • 3.5、数据类型转换
    • 4、运算符
      • 4.1、算数运算符
      • 4.2、赋值运算符
      • 4.3、比较运算符
      • 4.4、逻辑运算符
      • 4.5、递增递减运算符
      • 4.6、位运算符
      • 4.7、位移运算
      • 4.8、错误运算符
      • 4.9、三元运算符
      • 4.10、运算符的优先级
  • 五、if 语句
    • 1、if` 单分支语句
    • 2、if...else选择结构语句
    • 3、三目运算符实现,if...elseif...else`语句
  • 六、switch 语句
  • 七、while 循环
  • 八、do ...while循环
  • 九、for 循环
  • 十、continue 和break跳转指令
  • 十一、换行
  • 十二、流程替代语法
  • 十三、文件包含语句
    • 1、inclue语句
    • 2、require语句与include语句区别
    • 3、include_once()、require_once()和include()、require()的区别


一、WEB技术

1、什么是web

  • 含义:Web的本意是蜘蛛网,在计算机领域中称为网页
  • 构成:它是一个由很多互相链接的超文本文件组成的系统
  • 资源:系统中每个有用的文件都称为“资源”,并由“通用资源标识符”(URI)进行定位,这些资源通过超文本传输协议(Hypertext Transfer Protocol,HTTP)传送给用户,用户单击链接即可获得资源。

2、B/S架构

  • B/S(Browser/Server)架构:指的是浏览器/服务器端的交互
  • B/S架构则是将浏览器作为客户端,用户只需要安装一个浏览器,就可以访问各种网站的服务,如百度搜索、新浪资讯等。

3、C/S架构

  • C/S(Client/Server)架构:指的是客户端/服务器端的交互
  • 客户端软件是专门开发出来的,如QQ、微信,用户必须安装软件才能使用

PHP运行于服务器端,既可以在C/S架构中为客户端软件提供服务器接口,也可以作为B/S架构来搭建动态网站。


二、PHP概述

1、PHP是什么

  • PHP: Hypertext Preprocessor(超文本预处理器) 是一种通用开源脚本语言. 它是全球网站使用最多的脚本语言之一,全球前100万的网站中,有超过70%的网站是使用PHP开发的,这就是我们为什么要学php的原因,我们希望看懂php的代码好挖漏洞。
  • PHP 脚本在服务器上执行,默认文件扩展名是 “.php”

2、PHP受欢迎的原因

开源免费、面向对象、快捷性、跨平台性、支持多种数据库、PHP中可嵌入HTML,编辑简单、实用性强、程序开发快

3、基于MVC模式的PHP框架

  • 目前有很多流行的基于MVC模式的PHP框架,可以提高开发速度。例如,国外的有Zend Framework、Laravel、Yii、Symfony、CodeIgniter等;
  • 国内也有比较流行的框架,如ThinkPHP。

4、常用编译工具

  • Notepad++的特点是小巧,占用资源较少,非常适合初学者使用。 大家先直接用它就可以了
  • NetBeans和Zend Studio功能强大(相当于python pycharm),但占用较多资源,使用较为复杂,适合专业的开发人员使用。

5、PHP环境搭建

使用 PHP 需要先安装环境,安装环境比较麻烦,需要安装Web服务、PHP应用服务器、MySQL管理系统。

Web服务:apache 和 nginx
PHP:多版本
MySQL:多版本

  • 因为多环境、多版本、多系统,集成包就出现了。集成包(phpStudy、Xampp、宝塔面板、wdcp面板),安装很方便。
  • 只要在您的 web 目录中创建 .php 文件即可,服务器将自动为您解析这些文件。不需要编译任何软件,或安装额外的工具。
  • 由于 PHP 是免费的,大多数的 Web 主机都提供对 PHP 的支持。

6、开发工具

推荐使用vscode,原因:

  1. vscode 可以有函数提示,并且放上去可以提示这个函数干嘛的。
  2. ctrl +/ 自动给你多行注释了,写起来比较方便。
  3. 可以拷贝文件相对路径很方便放到浏览器上执行。

三、PHP基本语法格式

PHP每个语句结束必须写“;”作为结束符

1、标记

由于PHP 是嵌入式脚本语言,它在实际开发中经常会与HTML内容混编在一起,所以为了区分HTML与PHP代码,需要使用标记对PHP代码进行标识

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

2、输出语句

常用输出语句

echo
print
print_r()
var_dump()
  • echo:可将紧跟其后的一个或多个字符串、表达式、变量和常量的值输出到页面中,多个数据之间使用逗号“,”分隔
  • print:与echo的用法相同,唯一的区别是print只能输出一个值
  • print_r():PHP的内置函数,它可输出任意类型的数据,如字符串、数组等。
  • var_dump():不仅可以打印一个或多个任意类型的数据,还可以获取数据的类型和元素个数
示例:
<?php
echo 'helloworld\r\n';
print 'hello'
?>

3、注释

C++风格的单行注释://
Shell脚本语言风格的单行注释:#
多行注释:/* */

4、标识符

标识符:PHP程序开发中,经常需要自定义一些符号来标记一些名称,如变量名、函数名、类名等,这些符号被称为标识符。

标识符的定义需要遵循一定的规则,具体如下:

  1. 标识符只能由字母、数字、下划线组成,且不能包含空格
  2. 标识符只能以字母或下划线开头的任意长度的字符组成(不包含数字)
  3. 标识符用做变量名时,区分大小写 a , a, a,A
  4. 如果标识符由多个单词组成,那么应使用下划线进行分隔(例如:user_name)
  5. 合法标识符: itcast、itcast88、_itcast、username、password等。
  6. 非法标识符:66itcast、it cast、123、@itcast等。

四、数据与运算

1、常量

常量就是在脚本运行过程中值始终不变的量。是一旦被定义就不能被修改或重新定义。

  • 比如:数学中的圆周率π就是一个常量,其值就是固定且不能被改变的。
    常量遵循标识符的命名规则,默认大小写敏感,习惯上常量名称总是使用大写字母表示。

1.1、常量定义

常量定义方式有两种

  1. define() 函数
举例:
define('PAI', '3.14');
echo '圆周率=', PAI;  // 输出结果:圆周率=3.14

define('R', '5', true);
echo '半径=', R;	    // 输出结果:半径=5
echo '半径=', r;	    // 输出结果:半径=5
  • 首个参数定义常量的名称
  • 第二个参数定义常量的值
  • 可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。
    如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
  1. const 关键字
举例:
const R = 6;
const P = 2 * R;
echo 'P=', P;	// 输出结果:P=12

1.2、预定义常量

常量名功能描述
FILEPHP程序文件名
LINEPHP程序中的当前行号
PHP_VERSIONPHP程序的版本,如“7.1.4”
PHP_OS执行PHP解析器的操作系统名称,如“WINNT”
TRUE该常量是一个真值(true)
FALSE该常量是一个假值(false)
NULL该常量是一个空值(null)
E_ERROR该常量表示错误级别为致命错误
E_WARNING该常量表示错误级别为警告
E_PARSE该常量表示错误级别为语法解析错误
E_NOTICE该常量表示错误级别为通知提醒
举例:
<?php
echo "PHP程序当前文件路径名: " .__FILE__;
echo "<br />";

echo "PHP程序当前行数: " .__LINE__;
echo "<br />";

echo PHP_VERSION;
echo "<br />";

echo PHP_OS;
?>

2、变量

概念:变量是用于存储信息的"容器"。
组成:在PHP中,变量是由$符号和变量名组成的。
规则:变量名的命名规则与标识符相同。

举例:
如$number$_it为合法的变量名,而$123、$*math为非法变量名。

2.1、变量赋值

由于PHP是一种弱语言,变量不需要事先声明,就可以直接进行赋值使用。

  • 实现方式:一种是默认的传值赋值,另一种是引用赋值
  • 传值赋值:变量默认总是传值赋值,将“=”右边的数据赋值为左边的变量。
  • 引用赋值:所谓引用赋值就是在要赋值的变量前添加“&”符号。
  • 两种实现方式的区别:传值赋值方式当一个变量值发生改变时,不影响另一个变量;而引用赋值的方式,另一个变量会随之变化。
示例:
<?php
//变量定义
$a=10; //将常量值赋给变量,会为a分配内存空间
$b=$a; //变量赋值给变量,b也分配了内存空间,a和b的内存空间互不干扰
$c=&$a; //引用是不会为c分配空间的,c和a是共用一份空间的。可以把c理解成是一个快捷方式。
echo $a,PHP_EOL;
echo $b,PHP_EOL;
echo $c,PHP_EOL;
$c =99;
echo '重新打印a b c变量,检查哪几个变量值变更了,说明了什么问题',PHP_EOL;
echo $a,PHP_EOL;
echo $b,PHP_EOL;
echo $c,PHP_EOL;
?>

#PHP_EOL 是一个空格,兼容更大平台。

2.2、超级全局变量

PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

PHP 超级全局变量列表:

$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
  • 预定义的 $_GET 变量用于收集来自 method=“get” 的表单中的值。
    从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送信息的量也有限制

  • 预定义的 $_POST 变量用于收集来自 method=“post” 的表单中的值。
    从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制

  • 预定义的 $_REQUEST变量包含了$_GET$_POST$_COOKIE的内容。
    $_REQUEST 变量可用来收集通过 GET 和 POST 方法发送的表单数据。

  • 也许也碰到过这样的需求:传递某个参数时,如果表单POST来,就用$_POST的值,如果没有,就获取$_GET里的值。很多人就会想到$_REQUEST,因为当$_GET$_POST同时有同名的参数时,$_REQUEST里的就是$_POST,满足了$_POST优先的需求(这个谁优先其实是在php.ini里配置的,默认POST是比GET优先的)。

  • 为什么.__FILE__ 被称为常量而$_GET称为变量呢?因为.__FILE__代表了当前文件名是不会变化的$_GET请求随着请求的不同它的值是不一样的。

3、数据类型

PHP中支持3类数据类型:

  1. 标量数据类型(Boolean布尔类型、int整型、float浮点型、string字符串类型)
  2. 复合数据类型(array数组、object对象)
  3. 特殊数据类型(resource资源、null空类型)

在PHP中所讲的数据类型指的是变量所保存的数据本身。

3.1、标量数据类型

1)Boolean布尔类型
布尔型是PHP中较常用的数据类型之一,通常用于逻辑判断。
表示事物的“真”和“假”,并且不区分大小写。

2)int整型
整型可以由十进制、八进制和十六进制数指定,用来表示整数

  • 1、在它前面加上“-”符号,可以表示负数。
  • 2、八进制数使用0~7表示,前缀为0
  • 3、十六进制数使用0-9与A~F表示,以0x为前缀
举例:
<?php
    $number = 0;
    var_dump($number);
    echo '<hr>';
    $number = 67;
    var_dump($number);
    echo '<hr>';
    $number = -322;
    var_dump($number);
	echo '<hr>';
	$hex = 0xa;	//将16进制转换为10进制
	var_dump($hex);
	echo '<hr>';
	$oct = 012;	//将8进制转换为10进制
	var_dump($oct);
?>

3)float浮点型
浮点数是程序中表示小数的一种方法,或是指数形式。
通常使用标准格式和科学计数法格式表示。

4)string字符串类型
概念:字符串是由连续的字母、数字或字符组成的字符序列。
表示方式:分别为单引号、双引号、heredoc语法结构和nowdoc 语法结构。

注意:双引号里面可以解析变量,单引号输出字符串,单引号跟双引号区别,对比下面两个输出:

<?php
	$str1='I like php';
	$str2="I like php";
	echo $str1;
	echo '<br>';
	echo $str2;
?>
输出结果:
I like php
I like php
<?php
	$test='php';
	$str1='I like $test';
	$str2="I like $test";
	echo $str1;
	echo '<br>';
	echo $str2;
?>
输出结果:
I like $test
I like php

!注意:双引号包裹起来的表达式中间如果存在“$”符号,是会自动检索这个变量的值。

5)php中字符串拼接:
1、PHP中可以使用字符串连接符.来拼接字符串,它可以把两个或两个以上的字符串拼接成一个新的字符串。
2、字符串拼接有两种形式,分别是直接使用字符串连接符.和赋值运算符.=

3.2、php 特殊数据类型

NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。

NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。

可以通过设置变量值为 NULL 来清空变量数据。
在下列情况下一个变量被认为是NULL:

  1. 被赋值为NULL。
  2. 尚未被赋值。
  3. 被unset()。

3.3、数据类型检测

PHP中变量的数据类型通常不是开发人员设定的,而是根据该变量使用的上下文在运行时决定的。常使用var_dump()函数

3.4、数据类型检测函数

PHP中提供了许多检测数据类型的函数,但大致可以分为两种:gettype()函数和is_*()类函数。

is_*()如果检测的值符合检测的数据类型,则返回true,否则返回false。

is_*函数

函数名称功能描述
is_bool()检测是否属于布尔类型
is_string()检测是否属于字符串类型
is_float()检测是否属于浮点类型
is_int()检测是否属于整型
is_null()检测是否属于空值
is_array()检测是否属于数组
is_resource()检测是否属于资源
is_object()检测是否属于对象类型
is_numeric()检测是否属于数字或数字组成的字符串

3.5、数据类型转换

时机:在PHP中,对两个变量进行操作时,若其数据类型不相同,则需要对其进行数据类型转换。

分类:通常情况下,数据类型转换分为自动类型转换和强制类型转换。

1、自动类型转换,指的是当运算需要或与期望的结果类型不匹配时,PHP将自动进行类型转换,无需开发人员做任何操作。
分类:最常见的有3种,分别为转换成布尔型转换成整型和转换成字符串型
在这里插入图片描述

2、强制类型转换,就是在编写程序时手动转换数据类型,在要转换的数据或变量之前加上“(目标类型)”即可。
在这里插入图片描述

4、运算符

运算符,专门用于告诉程序执行特定运算或逻辑操作的符号。根据运算符的作用,可以将PHP语言中常见的运算符分为9类

运算符类型作用
算术运算符用于处理四则运算
赋值运算符用于将表达式的值赋给变量
比较运算符用于表达式的比较并返回一个布尔类型的值,true或false
逻辑运算符根据表达式的值返回一个布尔类型的值,true或false
递增或递减运算符用于自增或自减运算 += php有++
字符串运算符用于连接字符串 .
位运算符用于处理数据的位运算
错误控制运算符用于忽略因表达式运算错误而产生的错误信息
instanceof用于判断一个对象是否是特定类的实例

4.1、算数运算符

是用来处理加减乘除运算的符号,也是最简单和最常用的运算符号
在这里插入图片描述
注意:++aa++,++a相当于a这个变量先自增后运算,a++就相当于先运算后自增。

4.2、赋值运算符

是一个二元运算符,即它有两个操作数。它将运算符右边的值 赋给左边的变量
在这里插入图片描述
例子:
$a = $b = c = 5 ; ①将 5 赋值给变量 c = 5; ①将5赋值给变量 c=5;5赋值给变量c
②再把变量 c 的值赋值给变量 c的值赋值给变量 c的值赋值给变量b
③把变量 b 的值赋值变量 b的值赋值变量 b的值赋值变量a,表达式赋值完成

$i += 1;		
等价于:
$i = $i + 1;

$str .= 'Tom';	
等价于:
$str = $str . 'Tom';

4.3、比较运算符

是用来对两个变量或表达式进行比较,其结果是布尔类型的true或false
在这里插入图片描述
注意:=====的区别,==是比较内容,===不单比较内容还比较类型

4.4、逻辑运算符

是在程序开发中用于逻辑判断的符号,其返回值类型是布尔类型。就是常说的:与、或、非
在这里插入图片描述

4.5、递增递减运算符

也称作自增自减运算符,可被看作是一种特定形式的复合赋值运算符
在这里插入图片描述

  • “+ +”或“- -”放在操作数的前面,则先进行自增或自减运算,再进行其他运算。
  • “+ +”或“- -”放在操作数的后面,则先进行其他运算,再进行自增或自减运算。

4.6、位运算符

是针对二进制数的每一位进行运算的符号,它专门针对数字0和1进行操作。
在这里插入图片描述

按位与(都是1才是100000110
&     00001011
——————————————————
      00000010

按位或(有一个是1就是100000110
|  00001011
——————————————————
   00001111

按位非(全部取反)
~    00000110
——————————————————
     11111001

按位异或(两个值都相同就是0,两个值不相同就100000110
^    00001011
——————————————————
     00001101

4.7、位移运算

是针对二进制数的每一位进行左移或者右移

左移:
     00001011         <<1
——————————————————
     00010110

右移:
      00001011         >>1
——————————————————
      00000101

4.8、错误运算符

PHP的错误控制运算符使用 @ 符号来表示,把它放在一个PHP表达式之前,将忽略该表达式可能产生的任何错误信息。

简单来说就是强制执行代码,忽略错误,不报错

4.9、三元运算符

格式:(expr1) ? (expr2) : (expr3)
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

4.10、运算符的优先级

左结合方向表示同级运算符的执行顺序为从左到右

右结合方向则表示执行顺序为从右到左

与、或、非优先级是:not > and > or


五、if 语句

1、if` 单分支语句

在这里插入图片描述

2、if…else选择结构语句

在这里插入图片描述

3、三目运算符实现,if…elseif…else`语句

在这里插入图片描述


六、switch 语句

概念:switch语句也是多分支语句,功能与if系列条件语句相同,不同的是它只能针对某个表达式的值作出判断,从而决定执行哪一段代码。
在这里插入图片描述


七、while 循环

while循环语句,是根据循环条件来判断是否重复执行这一段代码的
在这里插入图片描述


八、do …while循环

概念:do…while循环语句的功能与while循环语句类似

唯一的区别在于,while是先判断条件后执行循环体,而do…while会无条件执行一次循环体后再判断条件

在这里插入图片描述


九、for 循环

for循环语句是最常用的循环语句,它适合循环次数已知的情况

for关键字后面小括号“()”中包括了三部分内容

  1. 初始化表达式
  2. 循环条件
  3. 操作表达式

它们之间用“;”分隔,{}中的执行语句为循环体

举例:

求0-100之间奇数之和:
    $sum=0;
    for($i=0;$i<=100;$i++) {
    if($i%2==1){
    $sum+=$i;
    } }
    echo $sum;
    ?>0-100之间偶数之和:
    $sum=0;
    for($i=0;$i<=100;$i+=2) {
    $sum+=$i;
    }
echo $sum;

十、continue 和break跳转指令

continue语句与break语句的区别在于,前者continue用于结束本次循环的执行,开始下一轮循环的执行操作;后者break 用于终止当前循环,跳出循环体。

break语句可应用在switch和循环语句中,其作用是终止当前语句的执行,跳出switch选择结构或循环语句,执行后面的代码。


十一、换行

PHP 中换行可以用 PHP_EOL <hr> 来替代,以提高代码的源代码级可移植性


十二、流程替代语法

大量的HTML与PHP代码混合编写时,为了方便区分流程语句的开始和结束位置,可以使用PHP提供的替代语法进行编码。

<!-- 输出1~99之间的偶数 -->
<ul>
    <?php for ($i = 1; $i < 100;  ++$i){ ?>
        <?php if ($i % 2 == 0){ ?>
            <li> <?=$i?> </li>
        <?php } ?>
    <?php } ?>
</ul>

<!-- 输出1~99之间的偶数 -->
<ul>
    <?php for ($i = 1; $i < 100;  ++$i): ?>
        <?php if ($i % 2 == 0): ?>
            <li> <?=$i?> </li>
        <?php endif; ?>
        <?php if ($i % 2 == 0): ?>
            <li> <?=$i?> </li>
        <?php endif; ?>
    <?php endfor; ?>
</ul>

备注:“<?= ?>”是短标记输出语法,自PHP 5.4起短标记关闭的情况下仍然可用

流程控制(包括 if,while,for,foreach,switch)这几个语句有替代语法。
左花括号{换成冒号:,把右花括号}分别换成 endif;endwhile;endfor;endforeach; 以及 endswitch;


十三、文件包含语句

作用:在程序开发中,会涉及到多个PHP文件。为此,PHP提供了包含语句,可以从另一个文件中将代码包含进来。只需要写对文件的路径。

有哪些包含语句:
include、require、include_once、require_once

当正常执行的时候被包含文件的变量才可以引用到。

1、inclue语句

具体语法:include '文件路径';
“文件路径”指的是被包含文件所在的绝对路径相对路径

  • 所谓绝对路径就是从盘符开始的路径,如“C:/web/test.php”。
  • 所谓相对路径就是从当前路径开始的路径,假设被包含文件test.php与当前文件所在路径都是“C:/web”,则其相对路径就是“./test.php”。

在相对路径中,./表示当前目录,../表示当前目录的上级目录。

2、require语句与include语句区别

include()引入文件时,如果找不到文件 include语句会发生警告信息并继续执行;require()引入文件时文件不存在会发生致命错误,程序终止执行

require()语句一般放在php脚本页面的最前边,在php执行前,先读入require()引入的文件,文件的内容会变成此脚本的一部分,但是出现错误,会立即退出。

include()语句一般在用到时才引入,所以经常是在流程控制的处理区段中,php脚本在执行到它时,才会将文件包含进来。

也就是说require()是预加载机制,位置在脚本的最前边,一开始就引入所有可能用到的文件;include()是即用即加载,位置灵活。

3、include_once()、require_once()和include()、require()的区别

include()、require()执行包含的文件,不会对引入的文件进行比较判断,可能会出现重复包含的情况;

include_once()、require_once()会在包含时先判断文件是否存在,已经包含过了就不在包含,这样的引入方式可以节约资源,又可以避免重复定义。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/632560.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端vue实现页面加水印文字 单个页面所有页面加水印 水印颜色

前端vue实现页面加水印文字, 可以实现系统所有页面加水印,也可以单个页面加水印, 可更改水印颜色, 下载完整代码请访问uni-app插件市场地址: https://ext.dcloud.net.cn/plugin?id12889 效果图如下: #### 使用方法 使用方法 /* 给系统所有页面加水印*/ // 第一个参数:水印…

Shell脚本函数简介及运用

目录 一、函数的作用 二、定义函数 三、调用函数 1.在脚本中调用函数 2.在函数中调用函数 四、函数传参 五、函数的返回值 六、函数的递归 七、函数及其变量的作用范围 八、外部脚本调用函数 一、函数的作用 语句块定义成函数约等于别名&#xff0c;定义函数&#xf…

【云原生网关】Apache ShenYu 使用详解

目录 一、前言 二、Apache ShenYu 介绍 2.1 为什么叫ShenYu 2.2 ShenYu特点 2.3 ShenYu架构图 2.4 shenyu数据同步原理 2.4.1 Zookeeper数据同步原理 三、Apache ShenYu 安装部署 3.1 部署流程 3.1.1 创建 Docker Network 3.1.2 拉取Apache ShenYu Admin镜像 3.1.3…

C语言之函数栈帧的创建与销毁(2)

上一篇博客我们讲到了函数栈帧的创建与销毁&#xff08;1&#xff09;今天我们来讲解Add函数的函数栈帧相关知识 在开始本章博客之前&#xff0c;大家可以把上一篇博客的主要内容仔细复习一下 看图 第一个mov&#xff1a;把b的值放到eax里面去 第二个mov&#xff1a;把a的…

【python】【excel】用excel中指定单元格的内容去替换一个文本中指定的字符

1 使用背景 理正的.spw文件是文本格式&#xff0c;类似于该软件的前处理&#xff0c;相关参数字段可通过文本替换&#xff0c;快速修改参数。 后续用途可用在&#xff1a;用EXCEL整理数据&#xff0c;通过修改文本批量获取多个截面参数的spw文件 2 ExcelSheet-shift-textstr…

macOS中解决matplotlib中文乱码

现象 图表上中文变方框&#xff0c;日志中报错如下&#xff1a; findfont: Generic family sans-serif not found because none of the following families were found: 解决办法 下载字体 http://xiazaiziti.com/210356.html 查询字体保存路径 查看配置文件路径 import…

01- 数据类型(C语言)

一 变量和常量 1.1 标识符 1、在我们所写的“第一个C程序”中出现了很多的标识符&#xff0c;例如include、main、printf、return。标识符是⽤来标识变量、函数&#xff0c;或任何其他⽤户⾃定义项⽬的名称。 2、标识符的约束规范&#xff1a; 只能包含数字、字母和下划线不…

chatgpt赋能python:Python怎么删除列表

Python怎么删除列表 什么是Python列表&#xff1f; 在Python中&#xff0c;列表是一个可变的序列&#xff0c;它可以包含不同类型的数据。列表可以使用中括号 [] 来定义&#xff0c;每个元素之间用逗号分隔。列表中的元素可以通过其下标进行访问&#xff0c;下标从0开始。 P…

Skywalking基础使用

Skywalking基础使用 agent的使用Linux下Tomcat7和8中使用Spring Boot中使用RocketBot的使用 agent的使用 agent探针可以让我们不修改代码的情况下&#xff0c;对java应用上使用到的组件进行动态监控&#xff0c;获取运行数据发送到OAP上进行统计和存储。agent探针在java中是使…

C语言之数组初级(5-8)

目录 1. 一维数组的创建和初始化 2. 一维数组的使用 3. 一维数组在内存中的存储 4. 二维数组的创建和初始化 5. 二维数组的使用 6. 二维数组在内存中的存储 7. 数组越界 8. 数组作为函数参数 二维数组的画图讲解 例如现在我要找第二行第三列这个元素&#xff0c;下面是…

放大电路与频率特征(期末模电速成)

目录 1、放大电路基础 2、放大电路三种组态 3、放大电路分析&#xff08;必考&#xff09; 4、多级放大电路 5、差动放大电路 6、频率特征 1、放大电路基础 晶体管输出特性曲线中的线性区域是指 放大区 &#xff0c;iC βiB NPN 型静态工作点过高&#xff0c;容易产生 饱…

Vue 中的表格操作

Vue 中的表格操作 在 Web 开发中&#xff0c;表格是非常常见的元素之一。在 Vue 中&#xff0c;我们可以使用一些组件和插件来实现表格的操作。在本文中&#xff0c;我们将介绍 Vue 中的表格操作的基本原理和用法&#xff0c;并给出一些实例代码来帮助读者更好地理解。 表格…

Scrapy爬取数据,使用Django+PyEcharts实现可视化大屏

项目介绍 使用Scrapy进行数据爬取&#xff0c;MySQL存储数据&#xff0c;Django写后端服务&#xff0c;PyEcharts制作可视化图表&#xff0c;效果如下。 项目下载地址&#xff1a;Scrapy爬取数据&#xff0c;并使用Django框架PyEcharts实现可视化大屏 发现每个模块都有详情页…

Django---------创建、运行

目录 1.安装django 2.pycharm&#xff08;专业版&#xff09;创建项目 3.默认项目的文件介绍 4.App的创建和说明 5. 启动运行django 1.确保app已注册[settings.py] 2. 编写URL和视图函数对应关系[url.py] 3.编写视图函数[views.py] 4.启动django项目 1.安装django pip…

C语言之函数栈帧的创建与销毁讲解(1)

在前期的学习中我们可能有很多困惑 例如&#xff1a;局部变量是怎么创建的 为什么局部变量的值是随机值 函数是怎么样传参的 传参的顺序是什么 形参和实参的关系是什么 函数调用是怎么做的 函数掉调用结束后怎么返回的 这篇博客我们来修炼自己的内功&#xff0c;掌握好这篇…

MySQL数据库,从入门到精通:第四篇——MySQL中常用的运算符及其用法

MySQl学习&#xff08;MySQL数据库&#xff0c;从入门到精通&#xff1a;第四篇——MySQL中常用的运算符及其用法 第四篇_MySQL中常用的运算符及其用法运算符1. 算术运算符1&#xff0e;加法与减法运算符2&#xff0e;乘法与除法运算符3&#xff0e;求模&#xff08;求余&#…

【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰

一、问题背景 因为我们团队有几个人需要做仿真&#xff0c;一个工作站不够用&#xff0c;经常是一个人操作的时候另一个人就眼巴巴等着。 我在想能不能实现一种方案&#xff0c;能使两个人一起操作仿真软件呢&#xff1f; 这种方案&#xff0c;目前网上比较流行是x11-forwar…

NLP——ELMO;BERT;Transformers

文章目录 ELMOELMO 简介ELMO 优点利用了多层的 hidden 表示ELMO 缺点 BERTBERT V.S. ELMO两种预训练任务Object1: Masked Language ModelObject2: Next sentence prediction 训练细节如何使用 BERTBERT 应用——垃圾邮件分类 Transformerself-attentionMulti-head AttentionTra…

chatgpt赋能python:Python中如何判断奇偶数

Python中如何判断奇偶数 当我们在Python中编写程序时&#xff0c;有时需要判断一个数是奇数还是偶数&#xff0c;因为根据不同的情况&#xff0c;我们需要对不同的数值进行不同的处理。那么在Python中&#xff0c;该如何判断一个数是奇数还是偶数呢&#xff1f; 判断奇偶数的…

【JavaEE进阶】mybatis

目录&#xff1a; 一、Mybatis是什么 三个映射关系如下图&#xff1a; 二、mybatis的使用&#xff08;前置工作简单案例&#xff09; 第一步&#xff1a;导入MAVEN依赖 第二步&#xff1a; 在spring项目当中新建数据源 第三步&#xff1a;新建一个实体类&#xff0c;是和…