【小白专用】PHP基本语法 23.11.04
PHP基本语法
PHP是超文本预处理器 由服务器解析执行 可以与 html 进行混编(嵌入) ,PHP是一种弱类型语言
1.1 PHP标记
PHP和其他Web语言一样,都是用一对标记将PHP代码包含起来,以便和HTML代码区分开来。PHP支持4种风格的标记,如表所示。
标记风格 | 开始标记 | 结束标记 |
XML风格 | <?php | ?> |
简短风格 | <? | ?> |
Script风格 | <script language="php"> | </script> |
ASP风格 | <% | %> |
在表中,每种标记风格都有各自的开始标记和结束标记。
1.XML风格
该风格的标记以“<?php”开始,以“?>”结束,具体示例如下:
<?phpecho "Connection established.\n"; ?>
XML风格是本书中采用的风格,也是推荐使用的风格。该风格的标记在XML、XHTML中都可以使用,服务器不可以禁用这种风格的标记。
2.简短风格
该风格的标记省略了XML风格中的“php”,具体示例如下:
<?echo "Connection established.\n"; ?>
如果需要使用简短风格,必须在配置文件php.ini中设置short_open_tags选项为On,然后重启Apache服务器。因为这种标记风格在许多环境中的默认设置是不支持的,因此本书不推荐使用这种标记风格。另外,如果脚本中包含XML语句,应禁止使用这种风格的标记。
3.Script风格
该风格的标记以“<script language="php">”开始,以“</script>”结束,具体示例如下:
该风格的标记类似于JavaScript语言的标记,该风格的标记不需要进行配置,一般不推荐使用该风格标记,此处只需了解即可。
4.ASP风格
该风格的标记以“<%”开始,以“%>”结束,具体示例如下:
如果需要使用这种风格标记,必须在配置文件php.ini中设置asp_tags选项为On,然后重启Apache服务器。因为这种标记风格在许多环境中的默认设置是不支持的,因此本书不推荐使用这种标记风格
1.2 PHP注释
注释即对程序代码的解释,在写程序时需适当使用注释,以方便自己和他人理解程序各部分的作用。在执行时,它会被PHP解释器忽略,因此不会影响程序的执行。PHP支持C++、C、Shell三种风格的注释。
1.2.1.C++风格的单行注释
该注释是从“//”开始,到该行末尾或PHP结束标记之前结束。
1.2.2.C风格的多行注释
该注释从“/*”开始,到“*/”结束。
但不可以嵌套多行注释,下面的代码是错误的用法,具体示例如下:
1.3 语法规则
PHP标识符与关键字
在PHP语言中,同样也需要对程序中各个元素命名加以区分,这种用来标识变量、函数、类等元素的符号称为标识符。
PHP语言规定,标识符是由字母、数字和下画线组成的,并且只能是以字母或下画线开头的字符集合。在使用标识符时应注意以下几点:
命名时应遵循见名知义的原则。
系统已用的关键字不得用作标识符。
关键字虽然可作为变量名使用,但容易造成混淆,不建议使用。
关键字是系统已经定义过的标识符,在程序中已有了特定的含义,如echo、class等,因此不能再使用关键字作为其他名称的标识符。
下表中列出了PHP中常用的关键字。
PHP变量
讲解变量的定义、变量的数据类型、检测数据类型、可变变量、变量的引用赋值等关于PHP变量的内容。
在PHP中,若要存储数据,就需要用到变量。在PHP中,变量是由$和变量名组成的,并且变量的命名规则与标识符相同。此处需注意,变量名是区分大小写的,如$Apple与$apple是两个不同的变量。
变量类型
PHP可以为不同的数据指定不同的数据类型。PHP支持8种数据类型,如图所示。
PHP的数据类型分为标量类型(boolean、integer、float、string)、复合类型(array、object)和特殊类型(resource、NULL)。本节只介绍标量类型
1.boolean(布尔型)
布尔型是PHP中较常用的数据类型之一,该类型数据只能为true或false(true表示真,false表示假,这两个值是不区分大小写的),具体示例如下:
2.integer(整型)
整型表示存储的数据是整数,例如1、-1等。在计算机语言中,整型数据可以用二进制、八进制、十进制、十六进制表示,并且在前面加上+或-表示正整数或负整数。如果用二进制表示,数字前必须加上0b或0B;如果用八进制表示,数字前必须加上0;如果用十六进制表示,数字前必须加上0x或0X,具体示例如下:
二进制数是由0、1组成,每逢2进1位;八进制数是由0~7的数字序列组成,每逢8进1位;十六进制数是由0~9的数字和A~F的字母组成序列,每逢16进1位。此处需注意,整型数值有最大取值范围,它的范围与平台有关。
4.string(字符串型)
字符串是一系列的字符,字符串可以使用单引号、双引号、定界符三种形式来定义。虽然三种形式都可以定义一个字符串,但它们却有本质的不同,接下来详细讲解这三种形式。
1)单引号形式
该形式就是将字符序列用单引号括起来。如果需要在字符串中表示一个单引号,则需要使用转义字符(\,也称反斜杠)转义。如果需要在字符串中表示反斜杠,则需要使用两个反斜杠。此外,单引号这种形式的字符串只能转义单引号和反斜杠。PHP中常见的转义字符如表所示。
2)双引号形式
该形式就是将字符序列用双引号括起来,可以转义一些字符,还可以将字符串的变量名替换为变量值(即可以解析其中包含的变量)
3)定界符
字符串的另一种形式是使用定界符(<<<)。该形式在<<<之后提供一个标识符用来表示开始,然后是包含的字符串,最后是用同样的标识符表示结束字符串。注意,结束标识符必须从行的第一列开始,并且后面除了分号不能再包含其他任何字符。
定界符形式的字符串可以很容易定义较长的字符串,因此通常用于从文件或数据库中大段地输出文档。
检测数据类型
在PHP中,变量的类型是由存储的数据决定的。为了检测变量所赋的值是否符合期望的数据类型,PHP中内置了一些检测数据类型的函数,如表所示。
函数 | 功能 |
is_bool() | 检测变量是否为布尔型 |
is_int() | 检测变量是否为整型 |
is_float() | 检测变量是否为浮点型 |
is_string() | 检测变量是否为字符串型 |
is_array() | 检测变量是否为数组型 |
is_object() | 检测变量是否为对象型 |
is_resource | 检测变量是否为资源型 |
is_null() | 检测变量是否为空值 |
is_numeric() | 检测变量是否为数字或数字组成的字符串 |
在表中,若变量属于某个类型,则函数返回true,否则返回false。
PHP变量
常见的PHP继承开发环境
变量是指在程序执行过程中值可以变化的量,常量是指在程序执行过程中值不变的量,例如圆周率π就可以定义为常量。在PHP中,常量是通过define()函数来定义的,其语法格式如下:
该函数有三个参数,具体如表所示。
另外,mixed 说明一个参数可以接受多种不同的(但不一定是所有的)类型。
获取常量的方法有两种:一种是直接使用常量名获取对应的值,另一种是使用constant()函数获取对应的值。
constant()函数的语法格式如下:
参数$name为需要获取常量的名称,也可以为存储常量名的变量。该函数调用成功,返回常量值,否则提示常量没有被定义。
defined()函数可以判断一个常量是否已定义,其语法格式如下:
参数$name为需要判断的常量名,若该常量已定义,则返回true,否则返回false。
预定义常量
预定义常量是指系统中已定义的常量,可以在程序中直接使用,具体如表所示。
常量名 | 说明 |
__FILE__ | 当前文件路径 |
__LINE__ | 当前所在行号 |
__FUNCTION__ | 当前的函数名 |
__CLASS__ | 当前的类名 |
__METHOD__ | 当前对象的方法名 |
PHP_OS | PHP运行的操作系统,如WINNT、UNIX |
PHP_VERSION | 当前PHP的版本号 |
TRUE | 布尔值true |
FALSE | 布尔值false |
NULL | 空值null |
E_ERROR | 错误,导致PHP脚本终止运行 |
E_WARNING | 警告,不会导致PHP脚本终止运行 |
E_PARSE | 解析错误,由程序解析器报告 |
E_NOTICE | 非关键的错误 |
数据类型转换
数据类型转换是指变量或值从一种数据类型转换为另一种数据类型。转换有两种方式:自动类型转换和强制类型转换。
自动类型转换
自动类型转换是指数据类型由PHP自动转换,使用时需注意以下几点:
1. 其他类型转换为布尔类型
当其他类型需要转换为布尔类型时,整型0、浮点型0.0、字符串型""与"0"、不包含任何元素的数组、不包含任何成员变量的对象、NULL会被转换为false,其他值被转换为true。
2. 布尔型转换为整型
当布尔型转换为整型时,true转换为整数1,false转换为整数0。
3. 字符串型转换为整型或浮点型
如果字符串是数字序列的字符,则转换为该数字,否则会出现警告。
4. 布尔型转换为字符串型
true转换为"1",false转换为""。
5. 整型或浮点型转换为字符串型
整型或浮点型数据的字面样式转换为字符串形式。
强制类型转换
强制类型转换是使用者手动将某个数据类型转换成目标数据类型,其中最简单的方法是在需要转换的变量前加上用圆括号括起来的目标类型,具体如所示。
转换操作符 | 说明 | 转换操作符 | 说明 |
(boolean) | 转换成布尔型 | (float) | 转换成浮点型 |
(string) | 转换成字符串型 | (array) | 转换成数组 |
(integer) | 转换成整型 | (object) | 转换成对象 |
除了上述转换方式外,类型转换还可以通过函数intval()、floatval()、strval()和settype()实现,具体如表所示。
函数 | 说明 |
int intval (mixed $var [, int $base = 10 ]) | 返回变量$var的integer数值 |
float floatval (mixed $var) | 返回变量$var的float数值 |
string strval (mixed $var) | 返回变量$var的string值 |
bool settype (mixed &$var , string $type) | 将变量 var 的类型设置成 type |
通过圆括号方式进行的强制类型转换和上表中前三种函数进行的强制类型转换都没有改变这些被转换变量的类型与值,它们仅仅是将转换得到的新类型数据赋给新的变量,但上表中的settype()函数可以将变量的本身类型转换为其他类型。
PHP编程应该学习的基础知识,包括PHP基本语法、PHP变量、PHP常量、数据类型转换、流程控制语句等
变量及操作
PHP是弱类型语言,变量的类型通常是根据该变量的值决定
PHP中以 $ 作为前缀来定义变量,以a~z(大小写)或 _ 下划线定义变量名
变量是内存中用于临时存储值空间,称为变量名。变量名是用于对这个内存中的数据进行引用的
在大多数编程语言中,变量只能保持一种类型的数据,而且这个类型必须在使用变量前声明,例如C语言中。
在PHP中,变量的类型通常是根据该变量使用的上下文在运行时(即变量的值)决定的。
简单来说,var = 1;就是数字,var2 = '1’就是字符串,变量类型是由值决定的。
变量及操作
PHP中以 $ 作为前缀来定义变量,以a~z(大小写)或 _ 下划线定义变量名
变量是内存中用于临时存储值空间,称为变量名。变量名是用于对这个内存中的数据进行引用的
在大多数编程语言中,变量只能保持一种类型的数据,而且这个类型必须在使用变量前声明,例如C#语言中。
在PHP中,变量的类型通常是根据该变量使用的上下文在运行时(即变量的值)决定的。
简单来说,var = 1;就是数字,var2 = '1’就是字符串,变量类型是由值决定的
语法:$变量名=值;
说明:必须以$符开头变量名只能包含字母、数字、下划线,只能以字母、下划线开头,不能以数字开头(数字不能紧挨着$)变量严格区分大小写
<?php// 定义变量$v1 = 1;$v2 = 1;$result = $v1 + $v2;echo $result;
传值与引用
传值赋值
直接使用 =
将变量的值赋值给另一个变量。
$a = 1;
$b = $a;
$b = 2;
echo $a;//结果是1
PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器。
基本的 PHP 语法
PHP 脚本可以放在文档中的任何位置。
PHP 脚本以 <?php 开始,以 ?> 结束:
<?php
// PHP 代码
?>
PHP 文件的默认文件扩展名是 ".php"。
PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。
下面,我们提供了一个简单的 PHP 文件实例,它可以向浏览器输出文本 "Hello World!":
<!DOCTYPE html>
<html>
<body><h1>My first PHP page</h1><?php
echo "Hello World!";
?></body>
</html>
PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。
PHP 中的注释
<!DOCTYPE html>
<html>
<body><?php
// 这是 PHP 单行注释/*
这是
PHP 多行
注释
*/
?></body>
</html>
php的一些基本语法
1.php标记符
<?phpecho 'Hello';?>
2.常量
const THE_VALUE = 100;define('THE_VALUE',100);变量 $a=10;
3.函数
functiontraceHello($name){echo 'hello '.$name.'<br>';//字符串连接//echo "hello $name <br>";return 1;//返回值}调用:1.traceHello('zhangsan');2.$func='traceHello'$func('zhangsan');
4.流程控制
1.if elsefunction getLevel($score){if($score>=90){return'优秀';}elseif($score>=80){return '良好';}else{return '不好';}}2.switchfunction getLevel($score){$result = '不好';switch(intval($score/10)){//intval()取整或取出其中整数case 10:case 9:$result = '优秀';break;case 8:$result = '良好';break;default:$result = '不好';//break;}return $result;}
3.for循环
for($i=0;$i<100;$i++){if($i==20){ break; }if($i==40){ continue; }}4.while循环$i=0;while(%<10)...$i++;}5.do while循环$i=0;do{...$i++;}while($i<100);
5.逻辑运算符
|| && !
6.字符串常用方法
strpos($str,'o');substr($str,2);str_split();explode(' ',$str);
7.数组
$arr=array();$arr[0]='Hello';print_r($arr);$arr['h']='hello';$arr['w']='world';$arr =array('h'=>'hello','w'=>'world')
8.
require 'lib.php';//依赖,文件不存在报错require_once 'lib.php';//只引用一次include 'lib.php';//包含,文件不存在给出警告
9.声明类
namespace jk;//命名空间class Man{private $_age,$_name;private static $NUM = 0;//静态变量/*** @param int $age 年龄* @param string $name 名字public funcation _construct($age,$name){$this-> _age = $age;//this当前对象指针,self当前类指针,parent父类指针$this-> _name = $name;}//构造方法public funcation sayHello(){}//成员方法public static funcation say(){}//类方法}创建实例$a=new Man();$a->sayHello();//调用方法Man::say();$h = new\jk\Hello();//存在命名空间
10.类继承,重写方法
class Child extends Man{publicfunction _construct($age,$name){parent::_contruct($age,$name);}publicfunciton say(){//重写方法//parent::say(); //保留父类方法echo 'child';}}
11.常用库函数
time();//时间戳date_default_timezone_set('Asia/Shanghai');//时区设置date('Y-m-d H:i:s');//时间date('Y-m-d H:i:s',time());//时间戳转换成时间$obj =array('h'=>'Hello','w'=>'World');echo json_encode($obj);//转换成json格式$jsonStr ='{"h":"Hello","w":"World"}';$obj =json_decode($jsonStr);//json字符串转换为php对象$f = @fopen('data','w');//打开文件,@不输出警告fwrite($f,'hello');//写入文件fclose($f);$f = @fopen('data','r');while(!feof($)){//判断是否到达文件尾$content =fgets($f);//只能读取一行echo$content;}echofile_get_contents('data');//直接获取文件die('结束页面');
12.获取get参数和post参数
if(isset($_GET['name'])&& $_GET['name']){}//isset()判断变量是否设置empty($name)判断变量是否赋值
13.获取文件
$file = $_FILES['file'];
$fileName = $file['name'];
move_uploaded_file($file['tmp_name'],$fileName);
14.
cookie和sessionsetcookie('name','cheng');header('Location:a.php');//跳转//a.phpecho $_COOKIE['name'];//获取cookiesession_start();//启用session$_SESSION['name'] ='cheng';echo session_id();//获取sessionidecho$_SESSION['name'];//session_destroy();//销毁session
15.sqlserver数据库
$serverName = "aliks.cn,5468"; //数据库服务器,端口号
$uid = "tt_db"; //数据库⽤户登录名
$pwd = "alibaba156"; //数据库⽤户登录密码
$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"DBiSys",'charset' =>'GBK');
$conn = sqlsrv_connect( $serverName, $connectionInfo);if ($conn === false) { echo "Could not connect.\n"; die(print_r(sqlsrv_errors(), true));
} $tsql = "insert into tb_users(user_id,username,pass_word,email,phone,role) values (null,'$username','$password','$email','$phone','$role')";
//$tsql=iconv('UTF-8','GBK',$tsql);//查询前对SQL转码
//向数据库插入表单传来的值的sql/* Prepare and execute the query. */
$stmt = sqlsrv_query($conn, $tsql, []);
if ($stmt) { /* echo "Row successfully inserted.\n"; */
} else { echo "Row insertion failed.\n"; die(print_r(sqlsrv_errors(), true));
} /* Get the number of rows affected and display appropriate message.*/
$rows_affected = sqlsrv_rows_affected( $stmt);
if( $rows_affected === false)
{ echo "Error in calling sqlsrv_rows_affected.\n"; die( print_r( sqlsrv_errors(), true));
}
elseif( $rows_affected == -1)
{ echo "No information available.\n";
}
else
{ echo $rows_affected." rows were updated.\n";
} /* Free statement and connection resources. */
sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
相关文章:

【小白专用】PHP基本语法 23.11.04
PHP基本语法 PHP是超文本预处理器 由服务器解析执行 可以与 html 进行混编(嵌入) ,PHP是一种弱类型语言 1.1 PHP标记 PHP和其他Web语言一样,都是用一对标记将PHP代码包含起来,以便和HTML代码区分开来。PHP支持4种风格的标记,如表所示。 标…...

路由器基础(七):NAT原理与配置
一、NAT 配置 华为路由器配置NAT 的方式有很多种,考试中可能考到的基本配置方 式主要有EasyIP和通过NAT地址池的方式。图22-7-1是一个典型的通过EasyIP进行NAT的示意图,其中Router出接口GE0/0/1的IP地址为200.100.1.2/24,接口E0/0/1的IP地址为192.168.0.…...

Spring Boot 整合SpringSecurity和JWT和Redis实现统一鉴权认证
📑前言 本文主要讲了Spring Security文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 🌄每日一句:努力…...

交换机基础(零):交换机基础配置
一、华为设备视图 常用视图 名称 进入视图 视图功能 用户视图 用户从终端成功登录至设备即进 入用户视图,在屏幕上显示 kHuawei> 用户可以完成查看运行状态和统 计信息等功能。在其他视图下 都可使用return直接返回用户视 图 系统视图 在用户视图下&…...

02 线性组合、张成的空间与基
线性组合、张成的空间与基 基向量缩放向量并相加给定向量张成的空间线性相关与线性无关空间的基 这是关于3Blue1Brown "线性代数的本质"的学习笔记。 基向量 当看到一对描述向量的数时,比如[3,-2]时,把这对数中的每个数(坐标&…...

解析mfc100u.dll文件丢失的修复方法,快速解决mfc100u.dll问题
在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“缺少某个文件”的错误。最近,我也遇到了一个这样的问题,那就是“mfc100u.dll丢失”。这个问题可能会导致某些应用程序无法正常运行,给我们带来困扰。…...

免费外文文献检索网站,你一定要知道
01. Sci-Hub 网址链接:https://tool.yovisun.com/scihub/ Sci-hub是一个可以无限搜索、查阅和下载大量优质论文的数据库。其优点在于可以免费下载论文文献。 使用方法: 在Sci—hub搜索栏中粘贴所需文献的网址或者DOI,然后点击右侧的open即可…...

大数据毕业设计选题推荐-收视点播数据分析-Hadoop-Spark-Hive
✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...

传智杯-21算法赛初赛B组题目详细解法解析-AB题(C/C++、Python、Java)
🚀 欢迎来到 ACM 算法题库专栏 🚀 在ACM算法题库专栏,热情推崇算法之美,精心整理了各类比赛题目的详细解法,包括但不限于ICPC、CCPC、蓝桥杯、LeetCode周赛、传智杯等等。无论您是刚刚踏入算法领域,还是经验丰富的竞赛选手,这里都是提升技能和知识的理想之地。 ✨ 经典…...

post给后端传递数组和多个参数
这是前端的数据结构 data() {return {loading: false,inputForm: {id: ${gridProject.id},gridName: ,gridId: ,projectName: ,projectId: ,type: },data: [],value: []}}, 其中 gridId 和 type 是单个参数 , value 是个数组,注意 这里data中的value[]不要直接给后…...

音频修复增强软件iZotope RX 10 mac中文特点
iZotope RX 10 mac是一款音频修复和增强软件。 iZotope RX 10 mac主要特点 声音修复:iZotope RX 10可以去除不良噪音、杂音、吱吱声等,使音频变得更加清晰干净。 音频增强:iZotope RX 10支持对音频进行音量调节、均衡器、压缩器、限制器等处…...

【面试】虚拟机栈面试题
目录 一、举例栈溢出的情况二、调整栈大小,能保证不出现溢出吗?三、分配的栈内存越大越好吗?四、垃圾回收是否会涉及到虚拟机栈?五、方法中定义的局部变量是否存在线程安全问题?5.1 说明5.2 代码示例 一、举例栈溢出的…...

白话熵增定律
白话熵增定律 热力学中的熵增定律 熵是指一个系统的混乱程度的度量,是热力学中的一个系统的属性。熵增定律是指一个封闭的系统随着时间的发展,在朝平衡状态发展时,其熵会增加,即其越来越混乱。 对于一个房间,如果经常…...

(论文阅读14/100)End-to-end people detection in crowded scenes
文献阅读笔记 简介 题目 End-to-end people detection in crowded scenes 作者 Russell Stewart, Mykhaylo Andriluka 原文链接 https://arxiv.org/pdf/1506.04878.pdf 关键词 Null 研究问题 当前的人员检测器要么以滑动窗口的方式扫描图像,要么对一组离…...

Go的错误处理
什么是错误? 错误表示程序中发生的任何异常情况。假设我们正在尝试打开一个文件,但该文件在文件系统中不存在。这是一种异常情况,表示为错误。 Go 中的错误是普通的旧值。就像任何其他内置类型(例如 int、float64 等)…...

云原生相关概念
云计算 指托管在外部数据中心并按使用量付费提供给用户的软件基础设施。公司不必为昂贵的服务器付费并进行维护。相反,他们可以使用云提供商提供的按需云原生服务,例如存储、数据库和分析。 云原生 是在 云计算环境 中构建、部署和管理现代应用程序的…...

【JS】this指向
一、this指向的四种规则 1.默认绑定规则 默认指向:指向window 独立调用:指向window 对象指向,比较的是引用地址。 console.log(this window); //true console.log({} {}); //false //函数的独立调用 function test(){console.lo…...

SpringCloud Alibaba Demo(Nacos,OpenFeign,Gatway,Sentinel)
开源地址: ma/springcloud-alibaba-demo 简介 参考:https://www.cnblogs.com/zys2019/p/12682628.html SpringBoot、SpringCloud 、SpringCloud Alibaba 以及各种组件存在版本对应关系。可参考下面 版本对应 项目前期准备 启动nacos. ./startup.c…...

基于nodejs+vue畅听校园点歌系统的设计与实现
目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…...

IDEA 设置代码注释模板
功能简介: 每次看别人代码时,面对毫无注释的类,除了头大还是头大, 以下提供了一种代码类注释模板 新建java类的时候,自动增加类注释,养成代码开发好习惯 效果展示: 代码模板: #if (…...

emoji对齐 特殊字符对齐 文本对齐
emoji如何对齐 特殊字符如何对齐 高级文本对齐 问题引出 我们在程序打印输出时,如何我们所输出的字符中包含emoji文本,或者其它特殊的字符文本,则我们的打印对齐效果将出现错位。以下代码复现了这一效果(tips: 马老师…...

Selenium Python 中的动作链
Selenium 是一个用于自动化的独立的基于 Web 的工具。 它是任何人都可以使用的开源工具。 与Python语言结合使用该工具进行测试。 操作链是 Selenium 的基本组成部分,提供了一种管理低级交互的方法,例如按键、鼠标移动、鼠标按钮操作以及与上下文菜单的…...

OceanBase:03-集群部署
目录 一、集群规划 二、配置要求 三、部署前配置 1.配置 limits.conf 2.配置 sysctl.conf 3.关闭防火墙 4.关闭 SELinux 5.创建数据目录,修改文件所有者信息 6.设置无密码 SSH 登录 7.安装jdk 四、解压执行安装 五、集群部署 1.OBD命令行部署 2. OBD白…...

PTA: 矩阵的乘法运算
矩阵的乘法运算 题目输入格式输出格式输入样例输出样例 代码 题目 线性代数中的矩阵可以表示为一个row*column的二维数组,当row和column均为1时,退化为一个数,当row为1时,为一个行向量,当column为1时&…...

4K Video Downloader Pro v4.28.0(视频下载器)
4K Video Downloader Pro是一款专业的视频下载软件,支持从YouTube、Vimeo、Facebook、Instagram、TikTok等主流视频网站下载高质量的4K、HD和普通视频。它的操作流程简单,只需复制视频链接并粘贴到软件中即可开始下载。此外,该软件还提供了多…...

java pdf,word,ppt转图片
pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0…...

map set
目录 一、关联式容器 二、键值对 三、树形结构的关联式容器 3.1 set 3.1.1 set的介绍 3.1.2 set的使用 3.2 multiset 3.2.1 multiset的介绍 3.2.2 multiset的使用 3.3 map 3.3.1 map的介绍 3.3.2 map的使用 …...
Fourier分析导论——第3章——Fourier级数的收敛性(E.M. Stein R. Shakarchi)
第 3 章 Fourier级数的收敛性(Convergence of Fourier Series) The sine and cosine series, by which one can represent an arbitrary function in a given interval, enjoy among other remarkable properties that of being convergent. This property did not escape…...

解决ruoyi-vue部署到域名子路径静态资源404
参考ruoyi前端手册...

游戏引擎中为什么要用四元数表示旋转而不用欧拉角旋转?
个人观点,仅供参考,如有错误可太刺激了 四元数的简单概念和使用 欧拉角通常用于表示一个物体的旋转状态,而不是表示旋转过程。 欧拉角描述的是物体相对于某个参考坐标系的朝向或旋转状态,通常以不同的轴(例如&#x…...