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

PHP基本语法总结

目录

输出语句

注释

数据类型(变量)

局部和全局作用域

类型比较(松散比较与严格比较)

常量

运算符

并置运算符

不等于

逻辑运算符

条件语句

数组

关联数组

数组排序

一般数组

关联数组

循环

函数

变量函数

魔术常量

命名空间

超级全局变量

面向对象

构造与析构函数

继承

接口interface

常量

抽象类

static与final关键字

调用父类构造方法


PHP 脚本以 <?php 开始,以 ?> 结束:

<?php
// PHP 代码
?>

输出语句

PHP 中使用 echoprint 语句来输出数据。

echo 和 print 区别:

echo - 可以输出一个或多个字符串

print - 只允许输出一个字符串,返回值总为 1

<?php
echo "Hello, World!";
?>

会输出Hello,World!

注释

PHP 支持三种注释方式:

单行注释:使用 //

单行注释:使用 # (较少使用)

多行注释:使用 /* */

<?php
// 这是一个单行注释
# 这也是一个单行注释
/*
这是一个多行注释
*/
?>

注释部分的代码不会被编译。

数据类型(变量)

变量是用于存储信息的"容器"

PHP 支持多种数据类型,包括但不限于:

字符串 (string):一系列字符。

整型 (integer):没有小数点的数字。

浮点型 (float):带有小数点的数字。

布尔型 (boolean):只有两个可能的值,true 和 false

数组 (array):存储多个值的集合。

对象 (object):面向对象编程中的实例。

NULL:表示一个未定义的变量。

PHP 中的变量总是以 $ 符号开始,后面跟着变量名。

<?php
$myVar = "Hello";
echo $myVar;
?>

会输出Hello。

局部和全局作用域

在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字(这一点与c语言不同)。

<?php
$x=5;
$y=10;function myTest()
{global $x,$y;$y=$x+$y;
}myTest();
echo $y; // 输出 15
?>

PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。

<?php
$x=5;
$y=10;function myTest()
{$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} myTest();
echo $y;
?>

这样写也是正确的。

类型比较(松散比较与严格比较)

松散比较:使用两个等号 == 比较,只比较值,不比较类型。

严格比较:用三个等号 === 比较,除了比较值,也比较类型。

例如,"42" 是一个字符串而 42 是一个整数。FALSE 是一个布尔值而 "FALSE" 是一个字符串。

42与“42”值相等(使用==返回true)类型不同(使用===返回false)

常量

PHP 中的常量是指一旦定义后其值不能被改变的标识符。

常量值被定义后,在脚本的其他任何地方都不能被改变。

常量可以用 define() 函数或 const 关键字来定义。

运算符

大部分与c语言相同,现列举几个c语言里没有的:

并置运算符

并置运算符 (.) 用于把两个字符串值连接起来。

例如:

<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>

上面的代码将输出:Hello world! What a nice day!

a .= b相当于a = a . b。

不等于

php里不等于可以使用与c语言相同的!=也可以使用x <> y,也表示不等于。

还有绝对等于x === y,如果 x 等于 y,且它们类型相同,则返回 true。

不绝对等于x !== y,如果 x 不等于 y,或它们类型不相同,则返回 true。

除了值相等以外,类也会判断是否相同。

逻辑运算符

与可以使用&&或者and,或可以使用||或者or。

还有异或符号x xor y,如果 x 和 y 有且仅有一个为 true,则返回 true。

条件语句

与c语言基本相同。elseif它的else与if中间不用空格。

if 语句 - 在条件成立时执行代码

if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码

if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块

switch 语句 - 在若干条件之一成立时执行一个代码块

if ($x > 0) {echo "正数";
} elseif ($x == 0) {echo "零";
} else {echo "负数";
}

数组

数组能够在单个变量中存储多个值:

<?php
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

同样类似于c语言。

运行结果为:I like Volvo, BMW and Toyota.

在 PHP 中,array() 函数用于创建数组

$cars=array("Volvo","BMW","Toyota");
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";

这两种赋值方式均可。

count($数组名);可以返回数组的长度。

关联数组

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";

类似于c++里stl中的一些东西,构成了键值对。

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>

运行结果为:Peter is 35 years old.

遍历关联数组使用foreach

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");foreach($age as $x=>$x_value)
{echo "Key=" . $x . ", Value=" . $x_value;echo "<br>";
}
?>

运行结果为: 

Key=Peter, Value=35
Key=Ben, Value=37
Key=Joe, Value=43

数组排序

一般数组

sort($数组名)

按照值升序排列。

rsort($数组名)

按照值降序排列。

关联数组

asort($数组名)

根据数组的值,对关联数组进行升序排列。

arsort($数组名)

根据数组的值,对关联数组进行降序排列。 

ksort($数组名)

根据数组的键,对关联数组进行升序排列。

krsort($数组名) 

根据数组的键,对关联数组进行降序排列。

循环

while,do while,for循环与c语言一致。

唯一要注意foreach循环。foreach 循环用于遍历数组。

foreach ($array as $value)
{要执行代码;
}

每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值。

foreach ($array as $key => $value)
{要执行代码;
}

每一次循环,当前数组元素的键与值就都会被赋值给 $key 和 $value 变量(数字指针会逐一地移动),在进行下一次循环时,你将看到数组中的下一个键与值。

<?php
$x=array("Google","Runoob","Taobao");
foreach ($x as $value)
{echo $value . PHP_EOL;
}
?>

运行结果为: 

Google
Runoob
Taobao

函数

语法:

<?php
function functionName()
{// 要执行的代码
}
?>

和JavaScript很相似,以function开头表示这是一个函数后面跟着它的名字。

其它与c语言类似,有可以有传入值,通过return返回值。

变量函数

变量函数是指在 PHP 中,将一个变量作为函数名来调用的函数。

$func = 'foo';
$func();        // 调用 foo()函数$func = 'bar';
$func('test');  // 调用 bar()函数$func = 'echoit';
$func('test');  // 调用 echoit()函数

魔术常量

__LINE__用于显示文件中的当前行号。

__FILE__用于显示文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。

__DIR__显示用于文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。

__FUNCTION__在函数类返回该函数被定义时的名字(区分大小写)。

__CLASS__在类里面返回该类被定义时的名字(区分大小写)。

__TRAIT__实现代码复用,优先顺序是当前类中的方法会覆盖 trait 方法,而 trait 方法又覆盖了基类中的方法。

__METHOD__显示类的方法名,返回该方法被定义时的名字(区分大小写)。

__NAMESPACE__得到当前命名空间的名称(区分大小写)。

命名空间

用来解决重名问题。

默认情况下,所有常量、类和函数名都放在全局空间下,就和PHP支持命名空间之前一样。

命名空间通过关键字namespace 来声明。如果一个文件中包含命名空间,它必须在其它所有代码之前声明命名空间。

<?php  
// 定义代码在 'MyProject' 命名空间中  
namespace MyProject;  // ... 代码 ...  

同一个文件中可以有不同的命名空间。建议使用大括号括起来。

<?php
namespace MyProject {const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */  }
}namespace AnotherProject {const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */  }
}
?>

超级全局变量

$GLOBALS 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。

 $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 

相当于z = x + y。

$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。具体查每样信息的语法可以百度查询。

PHP $_REQUEST 用于收集HTML表单提交的数据。

<html>
<body><form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form><?php 
$name = $_REQUEST['fname']; 
echo $name; 
?></body>
</html>

PHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。

<html>
<body><form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form><?php 
$name = $_POST['fname']; 
echo $name; 
?></body>
</html>

PHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。

面向对象

 − 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。

对象 − 是类的实例。

成员变量 − 定义在类内部的变量。该变量的值对外是不可见的,但是可以通过成员函数访问,在类被实例化为对象后,该变量即可成为对象的属性。

成员函数 − 定义在类的内部,可用于访问对象的数据。

继承 − 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

父类 − 一个类被其他类继承,可将该类称为父类,或基类,或超类。

子类 − 一个类继承其他类称为子类,也可称为派生类。

多态 − 多态性是指相同的函数或方法可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。

重载 − 简单说,就是函数或者方法有同样的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。

抽象性 − 抽象性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。

封装 − 封装是指将现实世界中存在的某个客体的属性与行为绑定在一起,并放置在一个逻辑单元内。

构造函数 − 主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。

析构函数 − 析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做"清理善后" 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。

使用new运算符创建对象。

$runoob = new Site;
$taobao = new Site;
$google = new Site;

构造与析构函数

在c++中构造函数与类同名,析构函数是构造函数名前加上一个~,但在php里构造函数与析构函数有固定的名字:

__construct与__destruct

构造函数:

function __construct( $par1, $par2 ) {$this->url = $par1;$this->title = $par2;
}

析构函数:

 function __destruct() {print "销毁 " . $this->name . "\n";}

继承

继承使用extends,php不支持多继承。

class Child extends Parent {// 代码部分
}

方法重写和访问权限基本与c++相同,不多赘述。 

接口interface

使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。

接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。

接口中定义的所有方法都必须是公有,这是接口的特性。

要实现一个接口,使用 implements 操作符。类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分隔多个接口的名称。

<?php// 声明一个'iTemplate'接口
interface iTemplate
{public function setVariable($name, $var);public function getHtml($template);
}// 实现接口
class Template implements iTemplate
{private $vars = array();public function setVariable($name, $var){$this->vars[$name] = $var;}public function getHtml($template){foreach($this->vars as $name => $value) {$template = str_replace('{' . $name . '}', $value, $template);}return $template;}
}

常量

可以把在类中始终保持不变的值定义为常量。在定义和使用常量的时候不需要使用 $ 符号。

 const constant = '常量值';

抽象类

任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。

定义为抽象的类不能被实例化。

类似于多态。

<?php
abstract class AbstractClass
{// 强制要求子类定义这些方法abstract protected function getValue();abstract protected function prefixValue($prefix);// 普通方法(非抽象方法)public function printOut() {print $this->getValue() . PHP_EOL;}
}class ConcreteClass1 extends AbstractClass
{protected function getValue() {return "ConcreteClass1";}public function prefixValue($prefix) {return "{$prefix}ConcreteClass1";}
}class ConcreteClass2 extends AbstractClass
{public function getValue() {return "ConcreteClass2";}public function prefixValue($prefix) {return "{$prefix}ConcreteClass2";}
}$class1 = new ConcreteClass1;
$class1->printOut();
echo $class1->prefixValue('FOO_') . PHP_EOL;$class2 = new ConcreteClass2;
$class2->printOut();
echo $class2->prefixValue('FOO_') . PHP_EOL;
?>

static与final关键字

声明类属性或方法为 static(静态),就可以不实例化类而直接访问。静态属性不可以由对象通过 -> 操作符来访问。

  public static $my_static = 'foo';

如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。

调用父类构造方法

PHP 不会在子类的构造方法中自动的调用父类的构造方法。要执行父类的构造方法,需要在子类的构造方法中调用 parent::__construct() 。

java里使用的是super,php使用用parent。

 parent::__construct(); 

相关文章:

PHP基本语法总结

目录 输出语句 注释 数据类型&#xff08;变量&#xff09; 局部和全局作用域 类型比较&#xff08;松散比较与严格比较&#xff09; 常量 运算符 并置运算符 不等于 逻辑运算符 条件语句 数组 关联数组 数组排序 一般数组 关联数组 循环 函数 变量函数 魔…...

尚硅谷rabbitmq 2024第30-33节 死信队列 答疑

Virtual host: Type: Name: Durabiity: Arguments: Default for virtual host w ququt.normal.video Durable x-dead-letter-exchange x-dead-1etter-routing-xey x-mAx-1ength X-m在88点0也-6E1 exchange.dead.letter.vide zouting.key.dead.ietter.v 10 String String Number…...

解锁空间距离计算的多种方式-含前端、空间数据库、后端

目录 前言 一、空间数据库求解 1、PostGIS实现 二、GIS前端组件求解 1、Leaflet.js距离测算 2、Turf.js前端计算 三、后台距离计算生成 1、欧式距离 2、Haversice球面距离 3、GeoTools距离计算 4、Gdal距离生成 5、geodesy距离计算 四、成果与生成对比 1、Java不…...

Windows 开发工具使用技巧 QT使用安装和使用技巧 QT快捷键

一、QT配置 1. 安装 Qt 开发框架 1、下载 1、进入下载地址 下载地址1 (官方, 需注册账号)&#xff1a; https://www.qt.io/download下载地址2&#xff08;推荐&#xff09;&#xff1a; http://download.qt.io/http://download.qt.io/archive/qt/ &#xff08;或更直接的…...

【实战教程】SpringBoot全面指南:快速上手到项目实战(SpringBoot)

文章目录 【实战教程】SpringBoot全面指南&#xff1a;快速上手到项目实战(SpringBoot)1. SpringBoot介绍1.1 SpringBoot简介1.2系统要求1.3 SpringBoot和SpringMVC区别1.4 SpringBoot和SpringCloud区别 2.快速入门3. Web开发3.1 静态资源访问3.2 渲染Web页面3.3 YML与Properti…...

LeetCode讲解篇之1043. 分隔数组以得到最大和

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 对于这题我们这么考虑&#xff0c;我们选择以数字的第i个元素做为分隔子数组的右边界&#xff0c;我们需要计算当前分隔子数组的长度为多少时能让数组[0, i]进行分隔数组的和最大 我们用数组f表示[0, i)区间内的…...

Python知识点:结合Python工具,如何使用TfidfVectorizer进行文本特征提取

开篇&#xff0c;先说一个好消息&#xff0c;截止到2025年1月1日前&#xff0c;翻到文末找到我&#xff0c;赠送定制版的开题报告和任务书&#xff0c;先到先得&#xff01;过期不候&#xff01; 如何使用Python的TfidfVectorizer进行文本特征提取 在自然语言处理&#xff08;…...

Diffusion models(扩散模型) 是怎么工作的

前言 给一个提示词, Midjourney, Stable Diffusion 和 DALL-E 可以生成很好看的图片&#xff0c;那么它们是怎么工作的呢&#xff1f;它们都用了 Diffusion models&#xff08;扩散模型&#xff09; 这项技术。 Diffusion models 正在成为生命科学等领域的一项尖端技术&…...

查找回收站里隐藏的文件

在Windows里&#xff0c;每个磁盘分区都有一个隐藏的回收站Recycle&#xff0c; 回收站里保存着用户删除的文件、图片、视频等数据&#xff0c;比如&#xff0c;C盘的回收站为C:\RECYCLE.BIN\&#xff0c;D盘的的回收站为D:\RECYCLE.BIN\&#xff0c;E盘的的回收站为E:\RECYCLE…...

[运维]2.elasticsearch-svc连接问题

Serverless 与容器决战在即&#xff1f;有了弹性伸缩就不一样了 - 阿里云云原生 - 博客园 当我部署好elasticsearch的服务后&#xff0c;由于个人习惯&#xff0c;一般服务会在name里带上svc&#xff0c;所以我elasticsearch服务的名字是elasticsearch-svc&#xff1a; [root…...

Ajax面试题:(第一天)

目录 1.说一下网络模型 2.在浏览器地址栏键入URL&#xff0c;按下回车之后会经历以下流程&#xff1a; 3.什么是三次握手和四次挥手&#xff1f; 4.http协议和https协议的区别 1.说一下网络模型 注&#xff1a;各层含义按自己理解即可 2.在浏览器地址栏键入URL&#xff0c;…...

数据仓库拉链表

数仓拉链表是数据仓库中常用的一种数据结构&#xff0c;用于记录维度表中某个属性的历史变化情况。在实际应用中&#xff0c;数仓拉链表可以帮助企业更好地进行数据分析和决策。 数仓拉链表&#xff08;Slowly Changing Dimension, SCD&#xff09;是一种用于处理维表中数据变化…...

【JVM】实战篇

1、内存调优 1.1 内存溢出和内存泄漏 内存泄漏&#xff08;memory leak&#xff09;&#xff1a;在Java中如果不再使用一个对象&#xff0c;但是该对象依然在GC ROOT的引用链上&#xff0c;这个对象就不会被垃圾回收器回收&#xff0c;这种情况就称之为内存泄漏。 内存泄漏绝…...

2024年9月30日--10月6日(ue5肉鸽结束)

按照月计划&#xff0c;本周把ue肉鸽游戏完成&#xff0c;然后进行ue5太阳系 &#xff0c; 剩余14节&#xff0c;218分钟&#xff0c;如果按照10分钟的视频教程1小时进行完的话&#xff0c;则需要22小时&#xff0c;分布在10月2日-10月6日之间&#xff0c;每天44分钟的视频教程…...

【Python游戏开发】贪吃蛇游戏demo

准备步骤 项目开发使用【Mu 编辑器】 1.新建项目&#xff0c;并导入游戏图片 游戏编写 1.创建场景 SIZE 15 # 每个格子的大小 WIDTH SIZE * 30 # 游戏场景总宽度 HEIGHT SIZE * 30 # 游戏场景总高度def draw():screen…...

pytorch张量基础

引言张量的基础知识 张量的概念张量的属性张量的创建张量的操作 基本运算索引和切片形状变换自动微分 基本概念停止梯度传播张量的设备管理 检查和移动张量CUDA 张量高级操作 张量的视图广播机制分块和拼接张量的复制内存优化和管理 稀疏张量内存释放应用实例 线性回归神经网络…...

深入解析LlamaIndex Workflows【下篇】:实现ReAct模式AI智能体的新方法

之前我们介绍了来自LLM开发框架LlamaIndex的新特性&#xff1a;Workflows&#xff0c;一种事件驱动、用于构建复杂AI工作流应用的新方法&#xff08;参考&#xff1a;[深入解析LlamaIndex Workflows&#xff1a;构建复杂RAG与智能体工作流的新利器【上篇】]。在本篇中&#xff…...

要在 Git Bash 中使用 `tree` 命令,下载并手动安装 `tree`。

0、git bash 安装 git(安装,常用命令,分支操作,gitee,IDEA集成git,IDEA集成gitee,IDEA集成github,远程仓库操作) 1、下载并手动安装 tree 下载 tree.exe 从 tree for Windows 官方站点 下载 tree 的 Windows 可执行文件。tree for Window&#xff1a;https://gnuwin32.source…...

Linux的基本指令(1)

前提&#xff1a; a&#xff1a;博主是在云服务器上进行操作的 b&#xff1a;windows上普通文件在Linux中也叫作普通文件&#xff0c;但是windows上的文件夹&#xff0c;在Linux中叫作目录 c&#xff1a;文件 文件内容 文件属性(创建时间&#xff0c;修改时间&#xff0c;…...

JavaEE之多线程进阶-面试问题

一.常见的锁策略 锁策略不是指某一个具体的锁&#xff0c;所有的锁都可以往这些锁策略中套 1.悲观锁与乐观锁 预测所冲突的概率是否高&#xff0c;悲观锁为预测锁冲突的概率较高&#xff0c;乐观锁为预测锁冲突的概率更低。 2.重量级锁和轻量级锁 从加锁的开销角度判断&am…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...

前端调试HTTP状态码

1xx&#xff08;信息类状态码&#xff09; 这类状态码表示临时响应&#xff0c;需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分&#xff0c;客户端应继续发送剩余部分。 2xx&#xff08;成功类状态码&#xff09; 表示请求已成功被服务器接收、理解并处…...

41道Django高频题整理(附答案背诵版)

解释一下 Django 和 Tornado 的关系&#xff1f; Django和Tornado都是Python的web框架&#xff0c;但它们的设计哲学和应用场景有所不同。 Django是一个高级的Python Web框架&#xff0c;鼓励快速开发和干净、实用的设计。它遵循MVC设计&#xff0c;并强调代码复用。Django有…...

FTXUI::Dom 模块

DOM 模块定义了分层的 FTXUI::Element 树&#xff0c;可用于构建复杂的终端界面&#xff0c;支持响应终端尺寸变化。 namespace ftxui {...// 定义文档 定义布局盒子 Element document vbox({// 设置文本 设置加粗 设置文本颜色text("The window") | bold | color(…...