PHP学习:PHP基础

news2024/9/17 8:40:10

以.php作为后缀结尾的文件,由服务器解析和运行的语言。

一、语法

PHP 脚本可以放在文档中的任何位置。

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

<!DOCTYPE html>
<html>
<body>

<h1>My first PHP page</h1>

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

</body>
</html>

二、变量

PHP中无声明变量,$+变量名即为PHP的变量,在赋值的时候,自动创建变量。

<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>

PHP 变量规则:

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

三、数据类型

1.String字符串

单行字符串

        由双引号包裹的字符组成的序列。

<?php 
$x = "Hello world!";
echo $x;
echo "<br>"; 
$x = 'Hello world!';
echo $x;
?>
字符串连接(并置运算符)

字符串的连接用并置运算符的' . '连接。

<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>
字符串查找(strpos()函数)

        用来在目标字符串里查找子串,第一个参数是目标字符串,第二个参数是要查找的子串,返回子串第一次出现的位置。

<?php
echo strpos("Hello world!","world");
?>
//返回6
字符串长度(strlen()函数)

返回字符串的长度。

<?php
echo strlen("Hello world!");
?>
多行字符串EOF

         定义多行字符串的方法,可以用来输出html代码块。

<?php
$x= <<<EOF
        <h1>我的第一个标题</h1>
        <p>我的第一个段落。</p>
EOF;
// 结束需要独立一行且前后不能空格
echo $x
?>

 注意事项:

  •  EOF可以用任意大写字符代替,但要保证开始字符和结束字符相同。
  • 结束字符需要独立一行且前后不能空格
  • 位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在EOF中,变量不需要用连接符 . 或 , 来拼接。

2.Integer整型

        整型可以用三种格式来指定:十进制 十六进制( 以 0x 为前缀)八进制(前缀为 0)

<?php 
$x = 5985;
var_dump($x);
echo "<br>"; 
$x = -345; // 负数 
var_dump($x);
echo "<br>"; 
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?>

        var_dump(变量名):可以输出变量的数据类型和值,还可以显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>

3.Float浮点型

浮点数是带小数部分的数字,或是指数形式。

<?php 
$x = 10.365;
var_dump($x);
echo "<br>"; 
$x = 2.4e3;
var_dump($x);
echo "<br>"; 
$x = 8E-5;
var_dump($x);
?>

4.Boolean布尔型

布尔型可以是 TRUE 或 FALSE,布尔型通常用于条件判断。

$x=true;
$y=false;

5.Array数组

创建数组

使用函数  array()创建数组。

<?php 
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>
数值数组

数值数组就是普通的一维数组

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

关联数组更像映射map数组,需要指定键值和键名,键名要用符号 " => " 与键值连接。

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

语法

array (
    array (elements...),
    array (elements...),
    ...
)

多维数组就是一维数组里的元素还是一维数组。

<?php
// 二维数组:
$cars = array
(
    array("Volvo",100,96),
    array("BMW",60,59),
    array("Toyota",110,100)
);
?>
<?php
$sites = array
(
    "runoob"=>array
    (
        "菜鸟教程",
        "http://www.runoob.com"
    ),
    "google"=>array
    (
        "Google 搜索",
        "http://www.google.com"
    ),
    "taobao"=>array
    (
        "淘宝",
        "http://www.taobao.com"
    )
);
print("<pre>"); // 格式化输出数组
print_r($sites);
print("</pre>");
?>

 遍历数组

count()函数:返回数组的长度

<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
 
for($x=0;$x<$arrlength;$x++)
{
    echo $cars[$x];
    echo "<br>";
}
?>
数组排序
  • sort() - 对数组进行升序排列
  • rsort() - 对数组进行降序排列
  • asort() - 根据关联数组的值,对数组进行升序排列
  • ksort() - 根据关联数组的键,对数组进行升序排列
  • arsort() - 根据关联数组的值,对数组进行降序排列
  • krsort() - 根据关联数组的键,对数组进行降序排列
<?php
	$cars=array("Volvo","BMW","Toyota");
    sort($cars);
?>

6.Object对象

使用class声明对象,内部要定义一个构造函数,在新建对象时候自动调用。

<?php
class Car
{
  var $color;
  function __construct($color="green") {
    //构造函数
    $this->color = $color;
  }
  function what_color() {
    return $this->color;
  }
}
?>

7.Resource资源类型

        resource 是一种特殊变量,保存了到外部资源的一个引用。常见资源数据类型有打开文件、数据库连接、图形画布区域等。

        由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。

        使用 get_resource_type() 函数可以返回资源(resource)类型。

<?php
$c = mysql_connect();
echo get_resource_type($c)."\n";
// 打印:mysql link

$fp = fopen("foo","w");
echo get_resource_type($fp)."\n";
// 打印:file

$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc)."\n";
// 打印:domxml document
?>

七、条件判断语句

if.......else条件语句

<?php
$t=date("H");
if ($t<"10")
{
    echo "Have a good morning!";
}
elseif ($t<"20")
{
    echo "Have a good day!";
}
else
{
    echo "Have a good night!";
}
?>

switch条件语句

<?php
$favcolor="red";
switch ($favcolor)
{
case "red":
    echo "你喜欢的颜色是红色!";
    break;
case "blue":
    echo "你喜欢的颜色是蓝色!";
    break;
case "green":
    echo "你喜欢的颜色是绿色!";
    break;
default:
    echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
}
?>

八、循环

1.while循环

<html>
<body>

<?php
$i=1;
while($i<=5)
{
    echo "The number is " . $i . "<br>";
    $i++;
}
?>

</body>
</html>

 2.do....while循环

<html>
<body>

<?php
$i=1;
do
{
    $i++;
    echo "The number is " . $i . "<br>";
}
while ($i<=5);
?>

</body>
</html>

3.for循环 

<?php
for ($i=1; $i<=5; $i++)
{
    echo "数字为 " . $i . PHP_EOL;
}
?>

4.foreach循环

语法:数值数组

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

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

 案例:

<?php
$x=array("Google","Runoob","Taobao");
foreach ($x as $value)
{
    echo $value . PHP_EOL;
   //PHP_EOL: 这是一个 PHP 内置的常量,表示特定操作系统下的换行符。
}
?>

语法:关联数组

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

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

案例:

<?php
$x=array(1=>"Google", 2=>"Runoob", 3=>"Taobao");
foreach ($x as $key => $value)
{
    echo "key  为 " . $key . ",对应的 value 为 ". $value . PHP_EOL;
}
?>

九、函数

1.自定义函数

语法:

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

案例:

<?php
function add($x,$y)
{
    $total=$x+$y;
    return $total;
}
 
echo "1 + 16 = " . add(1,16);
?>

2.isset函数

语法:

bool isset( $var )

返回值:

isset() 返回一个布尔类型的值。

  • true :变量「已定义」
  • false:变量「未定义」或变量为 NULL 或 变量被 unset()

3.include函数和require函数

   二者的作用都是在一个php文件插入另一个文件并执行,但二者有区别。

  • require 一般放在 PHP 文件的最前面,程序在执行前就会先导入要引用的文件;
  • include 一般放在程序的流程控制中,当程序执行时碰到才会引用,简化程序的执行流程。
  • require 引入的文件有错误时,执行会中断,并返回一个致命错误;
  • include 引入的文件有错误时,会继续执行,并返回一个警告。
  • 对于include() 语句来说,在执行文件时每次都要进行读取和评估;
  • 对于 require() 来说,文件只处理一次(实际上,文件内容替换 require() 语句)

案例:

<?php
include 'test-nothing.php';
echo 'abc';
?>

十、常量

定义常量define

语法:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

        case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感,默认是大小写敏感的。 

案例: 

<?php
// 区分大小写的常量名
define("GREETING", "欢迎访问 Runoob.com");
echo GREETING;    // 输出 "欢迎访问 Runoob.com"
echo '<br>';
echo greeting;   // 输出 "greeting",但是有警告信息,表示该常量未定义
?>

 定义常量const

语法:

const CONSTANT_NAME = "value";

案例: 

const SITE_URL = "https://www.runoob.com";
echo SITE_URL; // 输出 "https://www.runoob.com"

总结

这两种常量的定义方法在引用时候无需加$,因为其为常量不是变量。 

十一、超级全局变量

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

 变量名解释

$_COOKIE

存储客户端的 Cookie 数据的全局数组
 $_GET接受所有以 get 方式发送的请求的全局数组
$_POST接受所有以 post 方式发送请求的全局数组

$_REQUEST

用于收集来自 HTTP 请求的数据

 1.$_GET

获取url问号后面的数据,在url里#是锚定位符,GET方法无法获取锚定位符后面的内容

案例: 

<?php  
$name = $_GET['name']; // "John"  
$age = $_GET['age'];   // "25"  

echo "姓名: " . htmlspecialchars($name) . "<br>";  
echo "年龄: " . htmlspecialchars($age);  

//htmlspecialchars() 或 filter_input()可以避免SQL 注入和 XSS(跨站脚本攻击)
?>
<?php
$q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : '';
if($q) {
        if($q =='RUNOOB') {
                echo '菜鸟教程<br>http://www.runoob.com';
        } else if($q =='GOOGLE') {
                echo 'Google 搜索<br>http://www.google.com';
        } else if($q =='TAOBAO') {
                echo '淘宝<br>http://www.taobao.com';
        }
} else {?><form action="" method="get"> 
    <input type="radio" name="q" value="RUNOOB" />Runoob
    <input type="radio" name="q" value="GOOGLE" />Google
    <input type="radio" name="q" value="TAOBAO" />Taobao
    <input type="submit" value="提交">
</form><?php
}
?>

2.$_POST

获取由POST方法提交的参数。 

 案例:

<?php
$q = isset($_POST['q'])? $_POST['q'] : '';
if(is_array($q)) {
    $sites = array(
            'RUNOOB' => '菜鸟教程: http://www.runoob.com',
            'GOOGLE' => 'Google 搜索: http://www.google.com',
            'TAOBAO' => '淘宝: http://www.taobao.com',
    );
    foreach($q as $val) {
        // PHP_EOL 为常量,用于换行
        echo $sites[$val] . PHP_EOL;
    }
      
} else {?><form action="" method="post"> 
    <input type="checkbox" name="q[]" value="RUNOOB"> Runoob<br> 
    <input type="checkbox" name="q[]" value="GOOGLE"> Google<br> 
    <input type="checkbox" name="q[]" value="TAOBAO"> Taobao<br>
    <input type="submit" value="提交">
</form><?php
}
?>

 3.$_COOKIE

设置Cookie

语法:

setcookie(name, value, expire, path, domain);

 参数说明:

  • name(必需):

                这是 cookie 的名称。它是一个字符串,必须符合变量命名规则。

  • value(必需):

                这是与 cookie 关联的值。它是一个字符串,表示你要存储在客户端的内容。

  • expire(可选):

                这是 cookie 过期的时间。它是一个 Unix 时间戳(即从1970年1月1日到现在的秒

                数),可以通过 time() 函数来获取当前的时间戳。如果设置为 0,cookie 会在浏

                览器会话结束时过期;如果设置为将来的时间,则 cookie 会在指定的时间到期。

  • path(可选):

    • 这是 cookie 可用的路径。默认值是当前脚本的路径。设置此参数可以限制 cookie 的可用范围。例如,如果设置为 /,那么该 cookie 可以在整个域名下的所有路径中使用。
  • domain(可选):

    • 这是 cookie 可用的域名。可以用来设置 cookie 的作用域。默认情况下,cookie 将只在所发出的域名下有效。如果指定了子域名(例如 example.com),则 cookie 也可以在子域名(如 www.example.com 和 sub.example.com)下使用。

案例:

setcookie() 函数用于设置 cookie,且setcookie() 函数必须位于 <html> 标签之前

<?php
$expire=time()+60*60*24*30;
setcookie("user", "runoob", $expire);
?>

<html>
.....

 获取Cookie的值

使用$_COOKIE超级全局数组来获取前面设定的Cookie值。

<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<?php
if (isset($_COOKIE["user"]))
    echo "欢迎 " . $_COOKIE["user"] . "!<br>";
else
    echo "普通访客!<br>";
?>

</body>
</html>

案例使用了isset函数来判断是否设置了Cookie

4.$_REQUEST

  $_REQUEST 是 PHP 中的一个超全局数组,用于收集来自 HTTP 请求的数据。它包含了 $_GET$_POST 两个数组中传递的数据。使用 $_REQUEST 时,可以方便地获取这两种方式发送的请求参数。

案例: 

// 假设用户通过 GET 或 POST 请求传递了一个名为 "username" 的参数  
$username = $_REQUEST['username'];  

// 处理参数...  
echo "Hello, " . htmlspecialchars($username);

十二、面向对象(类)

十三、命名空间

1.定义命名空间

语法:

<?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() { /* ... */  }
?>  

 案例: 单个文件多个命名空间(推荐)

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

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

         当使用全局代码和命名空间代码混用时候,必须使用花括号{},并且HTML页面代码应该另写在一个不包含命名空间的文件里,通过require和include函数来引入

<?php
namespace MyProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}

namespace { // 全局代码
session_start();
$a = MyProject\connect();
echo MyProject\Connection::start();
}
?>

 2.子命名空间

相当于目录与子目录的关系

<?php
namespace MyProject\Sub\Level{  //声明分层次的单个命名空间

    const CONNECT_OK = 1;
    class Connection { /* ... */ }
    function Connect() { /* ... */  }
}

?>

十四、文件操作

 1.fopen()函数

用于在php打开文件。

语法:

fopen("文件名","参数")

案例: 

<html>
<body>

<?php
$file=fopen("welcome.txt","r");
?>
</body>
</html>

2.fwrite()函数

用来向文件写入信息。

语法: 

fwrite(file,string,length)
//file	必需。规定要写入的打开文件。
//string	必需。规定要写入文件的字符串。
//length	可选。规定要写入的最大字节数。

 案例:

<?php
$file = fopen("test.txt","w");
echo fwrite($file,"Hello World. Testing!");
fclose($file);
?>

3.fclose()函数

用来关闭文件。

案例: 

<?php
$file = fopen("test.txt","r");

//执行一些代码

fclose($file);
?>

4.feof() 函数

检测是否已到达文件末尾(EOF),返回值为bool类型。

注意:在 w 、a 和 x 模式下,您无法读取打开的文件!

案例:

if (feof($file)) echo "文件结尾";

5.fgets() 函数

从文件中逐行读取文件。

注意:在读取完一行后,指针会移动到新的一行。

 案例:

<?php
$file = fopen("welcome.txt", "r") or exit("无法打开文件!");
// 读取文件每一行,直到文件结尾
while(!feof($file))
{
    echo fgets($file). "<br>";
}
fclose($file);
?>

6.fgetc() 函数

从文件中逐字符地读取文件。

注意:在调用该函数之后,文件指针会移动到下一个字符。

案例: 

<?php
$file=fopen("welcome.txt","r") or exit("无法打开文件!");
while (!feof($file))
{
    echo fgetc($file);
}
fclose($file);
?>

参考资料

PHP 教程 | 菜鸟教程 (runoob.com)

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

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

相关文章

spaCy语言模型下载

spaCy 是一个基于 Python 编写的开源自然语言处理&#xff08;NLP&#xff09;库&#xff0c;它提供了一系列的工具和功能&#xff0c;用于文本预处理、文本解析、命名实体识别、词性标注、句法分析和文本分类等任务。 spaCy支持多种语言模型对文本进行处理&#xff0c;包括中文…

自己在Vmware中搭建mqtt服务器

前言 在学习某个HMI的使用的时候&#xff0c;这个HMI带有MQTT功能&#xff0c;就想着自己是不是能够搭建一个自己的MQTT的服务器呢&#xff1f; 一、mqtt 自己搭建之一&#xff1a;Mosquitto 自己搭建MQTT服务器需要安装和运行MQTT服务软件&#xff0c;比如常用的是Mosquitto…

Tkinter简介与实战(1)

Tkinter简介与实战---实现一个计算器 Tkinter简介安装环境和安装命令WindowsmacOSLinux 注意事项使用正确的包管理器&#xff1a;检查安装完整性&#xff1a;更新 Python&#xff1a;使用虚拟环境&#xff1a; 一个实战例子-----计算器1.创建窗口&#xff1a;2.创建 GUI 组件&a…

学习大数据DAY27 Linux最终阶段测试

满分&#xff1a;100 得分&#xff1a;72 目录 一选择题&#xff08;每题 3 分&#xff0c;共计 30 分&#xff09; 二、编程题&#xff08;共 70…

ANSYS仿真DDR4的眼图

1 眼图的基本知识 对于数字信号&#xff0c;高低电平转换可以组合在多个序列中。以3位为例&#xff0c;总共有000-111和8种组合。在时域中&#xff0c;根据某个参考点对足够多的序列进行对齐&#xff0c;然后将波形叠加形成眼图&#xff0c;如下图所示。 图&#xff1a;眼图中…

JavaScript object find 示例

https://andi.cn/page/621631.html

从信息论的角度看微博推荐算法

引言 在数字时代&#xff0c;推荐系统已成为社交媒体和其他在线服务平台的核心组成部分。它们通过分析用户行为和偏好&#xff0c;为用户提供个性化的内容&#xff0c;从而提高用户满意度和平台的参与度。推荐系统不仅能够增强用户体验&#xff0c;还能显著提升广告投放的效率…

angular入门基础教程(一)环境配置与新建项目

ng已经更新到v18了&#xff0c;我对他的印象还停留在v1,v2的版本&#xff0c;最近研究了下&#xff0c;与react和vue是越来越像了&#xff0c;所以准备正式上手了。 新官网地址:https://angular.cn/ 准备条件 nodejs > 18.0vscodeng版本18.x(最新的版本) {"name&qu…

C# Unity 面向对象补全计划 之 继承(字段与属性)

本文仅作学习笔记与交流&#xff0c;不作任何商业用途&#xff0c;作者能力有限&#xff0c;如有不足还请斧正 本系列旨在通过补全学习之后&#xff0c;给出任意类图都能实现并做到逻辑上严丝合缝 Q&#xff1a;为什么要单讲继承字段与属性&#xff0c;不讲继承方法了吗&#x…

【SuperMap GIS 信创部署系列】-- 金蝶V10中间件

⼀、安装包获取 本⽂以10.2.1版本安装为例&#xff0c;官⽹下载iserver war包即可。 下载地址&#xff1a;http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?id1852 ⼆、部署 iServer.war 1.解压安装包 将下载的supermap-iserver-10.2.1-war.zip包进⾏解…

基于单片机的步进电机系统设计方法探究

摘 要&#xff1a; 单片机是步进电机系统的重要组成部分&#xff0c;对于步进电机系统的驱动控制具有重要的影响。通过分析步进电机系统的工作原理&#xff0c;对步进电机系统进行规划设置。达到降低步进电机的使用成本&#xff0c;提高步进电机的效率与性能的效果。文章主要探…

WIFI 接收机和发射机同步问题+CFO/SFO频率偏移问题

Synchronization Between Sender and Receiver & CFO Correction 解决同步问题和频率偏移问题是下面论文的关键&#xff0c;接下来结合论文进行详细解读 解读论文&#xff1a;Verification and Redesign of OFDM Backscatter 论文pdf&#xff1a;https://www.usenix.org/s…

当自动驾驶遇上扩散模型(Panacea): 生成自动驾驶BEV数据集

Abstract 在自动驾驶领域&#xff0c;对高质量的标注训练数据的需求日益增加。在本文中&#xff0c;我们提出了Panacea&#xff0c;这是一种创新的方法&#xff0c;用于生成驾驶场景中的全景和可控视频&#xff0c;能够生成无限数量的多样化、标注的样本&#xff0c;对于自动驾…

Mojo函数

正如在语言基础中提到的&#xff0c;Mojo支持两种类型的函数&#xff1a;def和fn函数。您可以在任何函数中使用这两种声明方式&#xff0c;包括main()函数&#xff0c;但它们具有不同的默认行为&#xff0c;如本页面所述。 我们认为def和fn都有很好的用例&#xff0c;并且不认…

华为云上如何创建桶

目录 一、进入对象存储服务(OBS)页面,点击【创建桶】二、输入桶的相关信息三、获取 projectId四、获取 OBS Endpoint五、获取 AK/SK一、进入对象存储服务(OBS)页面,点击【创建桶】 二、输入桶的相关信息 可以勾选购买套餐: 点【立即创建】按钮完成桶的创建。 三、获取…

FPGA开发——数码管的使用

一、概述 在我们的日常开发中&#xff0c;数字显示的领域中用得最多的就是数码管&#xff0c;这篇文章也是围绕数码管的静态显示和动态显示进行一个讲解。 1、理论 &#xff08;1&#xff09;数码管原理图 在对数码管进行相关控制时&#xff0c;其实就是对于8段发光二极管和…

LLM还能拿来做异常检测

我从csdn上一路找原文章找到了这一篇 它使用distilbert-base-uncased这个模型给表格数据做文本embedding&#xff0c;并且期望这个LLM已经蕴含了合理的房产相关信息&#xff0c;因此对于没见过的异常房产信息&#xff0c;一定会产生一个与大多数信息embedding都不一样的embedd…

【每日一题】【逆推法 + 贪心】【数学】造数 河南萌新联赛2024第(一)场:河南农业大学 A题 C++

河南萌新联赛2024第&#xff08;一&#xff09;场&#xff1a;河南农业大学 A题 造数 题目描述 样例 #1 样例输入 #1 2样例输出 #1 1样例 #2 样例输入 #2 5样例输出 #2 3做题思路 本题可以用逆推法 将三种操作反过来变为 − 1 , − 2 , / 2 -1 , -2 , /2 −1,−2,/2 …

Linux云计算 |【第二阶段】AUTOMATION-DAY4

主要内容&#xff1a; 部署Ansible、Ansible基础命令&#xff08;Ansible ad-hoc命令格式、Ansible-doc帮助&#xff09;、Ansible模块常用&#xff1a;脚本与命令模块、文件与账户模块、软件与服务模块、逻辑卷模块 补充&#xff1a;touch 除创建文件外&#xff0c;若再创建相…

DBMotion x Chat2DB:高效迁移,优雅同步,数据腾飞不再愁

DBMotion 基本介绍 数据传输服务DBMotion是一款轻量、绿色的数据库迁移、同步、校验工具。支持国产化数据迁移、支持容灾演练、支持两地三中心和异地多活&#xff1b;源库无感知、简单易集成、丝滑高性能。助您在多云之间随心迁移、自由容灾。 功能介绍 已支持的数据库 v1.…