PHP基础语法(上)

news2025/1/31 11:04:49

目录

前言

一、基础语法

1.1 标记

1.2 输出语句

1.2.1 echo

1.2.2 print

1.3 注释

1.3.1 单行注释

1.3.2 多行注释

1.4 标识符

1.5 关键字

二、数据与运算

2.1  常量

2.1.1 常量的定义和使用

2.1.2 预定义常量

2.2 变量

2.2.1 变量的赋值

2.2.2 超全局变量

2.3 数据类型

2.3.1 标量数据类型

2.3.2 特殊数据类型

2.3.3 数据类型检测

2.3.4 数据类型转换

2.4 运算符及优先级

2.4.1 运算符

2.4.2 优先级

总结


🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。

💡本文由Filotimo__✍️原创,首发于CSDN📚。

📣如需转载,请事先与我联系以获得授权⚠️。

🎁欢迎大家给我点赞👍、收藏⭐️,并在留言区📝与我互动,这些都是我前进的动力!

🌟我的格言:森林草木都有自己认为对的角度🌟。

前言

本篇文章通过介绍PHP的基础语法,数据与运算,来让你了解PHP的魅力。详细内容请看正文。

 这是本篇文章的脉络图:


一、基础语法

1.1 标记

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

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

1.2 输出语句

1.2.1 echo

echo可将紧跟其后的一个或多个字符串、 表达式、变量和常量 的值输出到页面中,多个数据之间使用逗号“,”分隔。

1.2.2 print

print与echo的用法相同,唯一的区别是print只能输出一个值。
print_r() :PHP的内置函数,它可输出任意类型的数据,如字符串、数组等。
var_dump() :不仅可以打印一个或多个任意类型的数据,还可以获取数据的类型和元素个数。

例如:

<?php
var_dump("php","2");
?>

1.3 注释

注释 :在PHP开发中,为了便于对代码的阅读和维护,可以使用注释来进行解释和说明。它在程序解析时会被PHP解析器忽略。

1.3.1 单行注释

使用双斜线(//)来注释单行代码。注释符号后面的内容将被视为注释,不会被解释器执行。
例如:

<?php 
// 这是一个单行注释示例 
$variable = "Hello World";
?>

1.3.2 多行注释

使用斜线加星号(/*... */)来注释多行代码。注释符号之间的内容将被视为注释,不会被解释器执行。
例如:

<?php
/* 这是一个多行 
注释示例 */ 
$variable2 = "Hello World";
?>

1.4 标识符

标识符:PHP程序开发中,经常需要自定义一些符号来标记一些名称,如变量名、函数名、类名等,这些符号被称为标识符。
标识符的定义需要遵循一定的规则,具体如下:
1. 标识符只能由字母、数字、下划线组成,且不能包含空格
2.标识符只能以字母或下划线开头的任意长度的字符组成
3.标识符用做变量名时,区分大小写 $a,$A
4.如果标识符由多个单词组成,那么应使用下划线进行分隔(例如:user_name)
例如:
合法标识符: itcast、itcast88、_itcast、username、password等。
非法标识符:66itcast、it cast、123、@itcast等。

1.5 关键字

关键字:是编程语言里事先定义好并赋予特殊含义的单词,也称作保留字。和其他语言一样,PHP中保留了许多关键字,下面是PHP的一些主要关键字:

1. echo:用于在屏幕上输出文本或变量的值。
2. if、else、elseif:用于条件语句,根据指定条件执行不同的代码块。
3. for、while、do-while:用于循环结构,重复执行一段代码块。
4. switch、case:用于多重条件判断,根据不同情况执行不同的代码块。
5. break:用于退出循环或switch语句。
6. continue:用于跳过当前循环的剩余代码,继续下一轮循环。
7. function:用于定义和声明一个函数。
8. class、interface、trait、extends、implements:用于面向对象编程,定义类、接口和特性,实现类之间的继承和接口的实现。
9. public、protected、private:用于定义类的成员属性或方法的访问级别。
10. static:用于定义静态属性和方法,可以在不创建类的实例的情况下访问。
11. final:用于防止类被继承或方法被覆盖。
12. abstract:用于声明抽象类或方法,不能直接实例化。
13. namespace:用于声明命名空间,避免类名冲突。
14. use:用于导入其他命名空间的类或函数。

二、数据与运算

2.1  常量

概念:常量就是在脚本运行过程中值始终不变的量。
特点:是一旦被定义就不能被修改或重新定义。
举例:数学中的圆周率π就是一个常量,其值就是固定且不能被改变的。
命名规则:遵循标识符的命名规则, 默认大小写敏感,习惯上常量名称总是使用大写字母表示。

2.1.1 常量的定义和使用

在PHP中,可以使用`define()`函数来定义常量。常量是无法被改变的值,在定义后不能再次进行修改。常量的定义方式有两种:

1. 使用 `define()` 函数定义常量:

define ('PAI', '3.14'); 
echo 'PI =', PAI; / / Output result: PI =3.14 
define ('R', '5', true); 
echo 'radius =', R; / / Output result: Radius =5 
echo 'radius =', r; / / Output result: Radius =5
首个参数定义常量的名称,第二个参数定义常量的值,可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。 如果设置为 TRUE ,该常量则大小写不敏感。默认是大小写敏感的。常量定义后,可以在任何地方使用,不需要加`$`符号,直接使用常量名称即可。

2. 使用`const`关键字定义常量(PHP 5.3+):

const R = 6;
const P = 2 * R;
echo 'P=', P; // 输出结果:P=12

无论使用哪种方式定义常量,都无法在定义后再次修改常量的值。另外,常量的作用域是全局的,可以在任何地方访问,包括函数内部。

2.1.2 预定义常量

PHP中有许多预定义常量,它们是由PHP提供的全局常量。这些常量可以在任何地方直接使用,无需进行定义或声明。以下是一些常用的预定义常量及其解释:

  1. __FILE__:当前执行的文件的完整路径和文件名。
  2. __DIR__:当前执行的文件所在的目录的绝对路径。
  3. __LINE__:当前代码行号。
  4. __FUNCTION__:当前所在函数的函数名。
  5. __CLASS__:当前所在类的类名。
  6. __METHOD__:当前所在方法的方法名。
  7. __NAMESPACE__:当前所在命名空间的命名空间名。
  8. PHP_VERSION:当前PHP版本号。
  9. PHP_OS:运行PHP的操作系统。
  10. PHP_EOL:当前操作系统的换行符。

这些预定义常量可以帮助我们获取有关代码和环境信息,方便进行调试和编程。可以通过直接在代码中使用它们来获取相应的值。示例:

echo __FILE__; // 输出当前文件的完整路径和文件名
echo __DIR__; // 输出当前文件所在的目录的绝对路径
echo __LINE__; // 输出当前代码行号

function myFunction() {
    echo __FUNCTION__; // 输出当前所在函数的函数名
    echo __CLASS__; // 输出当前所在类的类名
    echo __METHOD__; // 输出当前所在方法的方法名
}

echo PHP_VERSION; // 输出当前PHP版本号
echo PHP_OS; // 输出运行PHP的操作系统

2.2 变量

概念:变量是用于存储信息的"容器":
组成:在PHP中,变量是由$符号和变量名组成的。
规则:变量名的命名规则与标识符相同。
举例:如$number、$_it为合法的变量名,而$123、$*math为非法变量名。

2.2.1 变量的赋值

在PHP中,变量赋值是将一个值保存到变量中的过程。PHP是一种动态类型的语言,因此在赋值时无需事先声明变量的数据类型。以下是关于PHP变量赋值的三种方式:

1. 传值赋值:

$variable_name = value;

这是最常见的赋值语法,通过=操作符将一个值赋给变量。$variable_name是变量名,value是要赋给变量的值。

示例:

$name = "John"; // 将字符串 "John" 赋给变量 $name
$age = 25; // 将数字 25 赋给变量 $age
$is_active = true; // 将布尔值 true 赋给变量 $is_active

2. 引用赋值:
在PHP中,通过引用赋值可以使用多个变量引用同一个值。

$variable_name = &$reference_variable;

`&$reference_variable`表示一个引用变量,它与其他变量共享相同的内存空间,即对其中一个变量的修改会影响其他引用变量。

示例:

$a = 10;
$b = &$a; // 将 $a 的引用赋给 $b
$b = 20; // 修改 $b 的值也会影响 $a
echo $a; // 输出 20
两种实现方式的区别:传值赋值方式当一个变量值发生改变时,不影响另一个变量;而引用赋值的方式,另一个变量会随之变化。

2.2.2 超全局变量

在PHP中,超全局变量(superglobal variables)是一类预定义的全局变量,它们在脚本的任何地方都可以直接访问,无需额外的声明或引用。这些超全局变量在整个脚本中都是可用的,无论是在函数、类、循环还是条件语句中。

以下是PHP中最常用的超全局变量:

1. `$_GET`:用于获取通过 URL 查询字符串传递的参数。它是一个关联数组,其中的键是参数名,值是参数的值。

示例:

// URL: example.com?name=John&age=25
echo $_GET['name']; // 输出 "John"
echo $_GET['age']; // 输出 "25"

2. `$_POST`:用于获取通过 HTTP POST 方法提交的表单数据。它也是一个关联数组,其中的键是表单字段名,值是字段的值。

示例:

// 表单中的字段:<input type="text" name="name"> 和 <input type="text" name="age">
echo $_POST['name']; // 输出提交的 name 字段的值
echo $_POST['age']; // 输出提交的 age 字段的值

3. `$_REQUEST`:用于获取通过 HTTP GET 或 POST 方法提交的参数和表单数据。它是`$_GET`和`$_POST`的合并。

4. `$_COOKIE`:用于获取客户端提交的 Cookie 值。它是一个关联数组,其中的键是 Cookie 名称,值是 Cookie 的值。

示例:

echo $_COOKIE['username']; // 输出名为 username 的 Cookie 值

5. `$_SESSION`:用于访问当前会话的 session 数据。它是一个关联数组,用于在不同页面之间存储和读取会话信息。

示例:

session_start();
$_SESSION['username'] = 'John'; // 设置 session 变量
echo $_SESSION['username']; // 输出 'John'

6. `$_SERVER`:包含了有关服务器和执行环境的信息,例如请求的方法、请求的 URL、服务器的主机名等。它是一个关联数组。

示例:

echo $_SERVER['REQUEST_METHOD']; // 输出请求的方法(GET、POST、PUT等)
echo $_SERVER['SERVER_NAME']; // 输出服务器的主机名

2.3 数据类型

PHP中支持3类数据类型:
1.标量数据类型
2.复合数据类型
3.特殊数据类型

2.3.1 标量数据类型

1.布尔型

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

示例:
$isTrue = true;
$isFalse = false;

2.整型

整型可以由十进制、八进制和十六进制数指定,用来表示整数。
(1) 在它前面加上“-”符号,可以表示负数。
(2)八进制数使用0~7表示,前缀为0。
(3) 十六进制数使用0~9与A~F表示,以0x为前缀。
3.浮点型
概念 :浮点数是程序中表示小数的一种方法,或是指数形式。
表示方式 :通常使用标准格式和科学计数法格式表示。
4.字符串型
概念:字符串是由连续的字母、数字或字符组成的字符序列。
表示方式:分别为单引号、双引号、heredoc语法结构和nowdoc 语法结构。
示例:
<?php
$number = 100;
echo 'number=',$number;
echo '<br>';
echo "$number=",$number;
?>

注意:单引号输出字符串,双引号里面可以解析变量。

上述例子运行结果如下:

2.3.2 特殊数据类型

1.NULL
NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。 NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。 可以通过设置变量值为 NULL 来清空变量数据:
<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>
在下列情况下一个变量被认为是NULL:
(1)被赋值为NULL。
(2)尚未被赋值。
(3)被unset()。

2.3.3 数据类型检测

PHP中变量的 数据类型通常不是开发人员设定的,而是根据该 变量使用的 上下文在运行时决定的。
PHP中提供了许多检测数据类型的函数,大致可以分为两种:gettype()函数和is_*()类函数,括号里的参数为待要检测的值。
is_*()如果检测的值符合检测的数据类型,则返回true,否则返回false。

2.3.4 数据类型转换

时机 :在PHP中,对两个变量进行操作时,若其数据类型不相同,则需要对其进行数据类型转换。
分类 :通常情况下,数据类型转换分为自动类型转换和强制类型转换。

1.自动类型转换

指的是当运算需要或与期望的结果类型不匹配时,PHP将自动进行类型转换,无需开发人员做任何操作。

分类:最常见的有3种,分别为转换成布尔型、转换成整型和转换成字符串型。

2.强制类型转换

所谓强制类型转换,就是在编写程序时手动转换数据类型,在要转换的数据或变量之前加上“(目标类型)”即可。
例如:
var_dump((int) "6.66");

2.4 运算符及优先级

2.4.1 运算符

运算符 ,专门用于告诉程序执行特定运算或逻辑操作的符号。PHP提供了一系列的运算符,用于执行不同的数学、逻辑和字符串操作。以下是PHP中常见的运算符及其作用:
  1. 算术运算符:

    • + 加法:对两个数进行相加。
    • - 减法:从一个数中减去另一个数。
    • * 乘法:将两个数相乘。
    • / 除法:将一个数除以另一个数。
    • % 取模:取得两个数相除后的余数。
  2. 赋值运算符:

    • = 赋值:将右侧的值赋给左侧的变量。
    • += 加法赋值:将右侧的值加到左侧的变量上。
    • -= 减法赋值:从左侧的变量中减去右侧的值。
    • *= 乘法赋值:将左侧的变量乘以右侧的值并重新赋值给左侧的变量。
    • /= 除法赋值:将左侧的变量除以右侧的值并重新赋值给左侧的变量。
  3. 比较运算符:

    • == 等于:检查两个值是否相等。
    • != 不等于:检查两个值是否不相等。
    • > 大于:检查左侧的值是否大于右侧的值。
    • < 小于:检查左侧的值是否小于右侧的值。
    • >= 大于等于:检查左侧的值是否大于或等于右侧的值。
    • <= 小于等于:检查左侧的值是否小于或等于右侧的值。
  4. 逻辑运算符:

    • && 逻辑与:检查两个条件是否同时为真。
    • || 逻辑或:检查两个条件是否至少有一个为真。
    • ! 逻辑非:对条件进行取反。
  5. 字符串运算符:

    • . 连接:连接两个字符串。
    • .= 连接赋值:将右侧的字符串连接到左侧的字符串上并重新赋值给左侧的字符串。
  6. 自增/自减运算符:

    • ++ 自增:将变量的值加1。
    • -- 自减:将变量的值减1。
  7. 数组运算符:

    • + 合并:将两个数组合并为一个新数组。
    • == 相等:检查两个数组是否相等。
    • === 全等:检查两个数组的键和值是否完全相同。

2.4.2 优先级

运算符的优先级决定了它们在表达式中的结合性和执行顺序。如果有多个运算符同时出现,优先级高的运算符会先于优先级低的运算符进行计算。可以使用括号 () 来改变运算符的优先级和强制先执行某些部分。

例如:先乘除,后加减。
补充:圆括号()优先级别最高。例如, 5 + 6 * 7的输出结果为47,(5 + 6) * 7的输出结果为77。

以下是运算符的优先级(从高到低):

  1. 一元运算符:
    一元运算符包括前置递增/递减运算符 ++$x--$x 和取反、正数运算符 -$x+$x。它们具有最高的优先级,会先于其他运算符进行计算。

  2. 乘性运算符:
    乘性运算符包括乘法 *、除法 / 和取模 %,以及字符串连接运算符 .。它们的优先级高于加性运算符,但低于一元运算符。乘性运算符按照从左到右的顺序进行计算。

  3. 加性运算符:
    加性运算符包括加法 + 和减法 -,以及字符串连接运算符 .。它们的优先级低于乘性运算符,但高于位移运算符。加性运算符按照从左到右的顺序进行计算。

  4. 位移运算符:
    位移运算符包括左移 << 和右移 >>。它们的优先级低于加性运算符,但高于比较运算符。

  5. 比较运算符:
    比较运算符包括小于 <、小于等于 <=、大于 >、大于等于 >=,以及等于 ==、不等于 !=、全等 ===、不全等 !==。比较运算符的优先级低于位移运算符,但高于位运算符和逻辑运算符。

  6. 位运算符:
    位运算符包括按位与 &、按位异或 ^、按位或 |。它们的优先级低于比较运算符,但高于逻辑运算符。

  7. 逻辑运算符:
    逻辑运算符包括逻辑与 &&、逻辑或 ||,以及逻辑异或 ^ 和逻辑非 !。逻辑运算符的优先级低于位运算符,但高于条件运算符。

  8. 三元条件运算符:
    三元条件运算符 expr1 ? expr2 : expr3 用于根据条件选择表达式的值。它的优先级低于逻辑运算符,但高于赋值运算符。

  9. 赋值运算符:
    赋值运算符用于给变量赋值,如 =+=-=*=/=%=.= 等。赋值运算符具有最低的优先级。


总结

PHP在当今世界仍然是一门流行和重要的服务器端脚本语言。它具有广泛的应用领域、强大的生态系统和不断发展的特点,为Web开发提供了可靠和灵活的解决方案。随着技术的进步和改进,PHP有望继续保持其在Web开发领域的重要地位。

关注,点赞,收藏,希望友友们能一键三连哦!评论会回访的。文章底部还有一个投票,大家不要错过了哦。

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

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

相关文章

Python 中的 DNS 查找

本文将讨论 DNS 和 DNS 查找的概念。 之后&#xff0c;我们讨论使用 Python 进行 DNS 查找的方法。 什么是 DNS DNS&#xff08;域名系统&#xff09;将域名转换为公共IP地址。 DNS 服务器将任何网站的域名转换为该网站主机服务器的公共 IP。 DNS查询 DNS 查找是一个过程&…

微信小程序 uniapp+vue线上洗衣店业务管理系统演89iu2

本课题意在设计一种系统的、基于用户体验的线上洗衣服务模式&#xff0c;具有如下的研究意义: (1)为用户提供更简单、便捷的洗衣服务模式; (2)为智能柜的盈利模式提供了新的方向; (3)通过线上系统、智能柜与洗衣工厂结合的方式&#xff0c;为洗衣企业构建了一套节 省人力成本的…

X86_64 栈和函数调用

引言 大家都知道函数调用是通过栈来实现的&#xff0c;而且知道在栈中存放着该函数的局部变量。但是对于栈的实现细节可能不一定清楚。本文将介绍一下在 x86 平台下函数栈是如何实现的。 1、x86-64 汇编 Intel 系列处理器通常称为x86&#xff0c;目前常用的笔记本或台式机都是…

常见场景面试题:BitMap、布隆过滤器

typora-copy-images-to: imgs位图 BitMap BitMap 到底用于解决什么问题&#xff1f; BitMap 常常用于解决一些数据量比较大的问题&#xff0c;比如说对于1千万个整数&#xff0c;整数的范围在 1~100000000&#xff0c;对于一个整数 x &#xff0c;我们怎么知道在不在这1千万个整…

基于springboot实现医院急诊平台系统项目【项目源码】计算机毕业设计

基于springboot实现医院急诊平台系统演示 Spring Boot框架 Spring Boot是Pivotal团队的一个新框架&#xff0c;旨在简化新Spring应用程序的初始设置和开发。该框架使用特定的配置方法&#xff0c;无需开发人员定义样板配置。通过这种方式&#xff0c;Spring Boot旨在成为蓬勃发…

为什么直接用int转换 字符串内为小数类型的变量,会报错?直接转换失败?如何解决?

见图思考&#xff1a;为什么直接用int转换 字符串内为小数类型的变量&#xff0c;会报错&#xff1f;&#xff1f;&#xff1f;直接转换失败&#xff1f;&#xff1f;&#xff1f; 报错的意思就是&#xff1a;值异常&#xff0c;因为小数类型的字符串 ‘10.88’&#xff0c;不…

深度学习实战57-pytorch框架搭建LSTM+CNN模型与实现时间序列的预测过程

大家好,我是微学AI,今天给大家介绍一下深度学习实战57-pytorch框架搭建LSTM+CNN模型与实现时间序列的预测过程, 随着科技的进步,我们越来越依赖数据来理解世界,预测未来。特别是在金融、气候研究、交通管理等领域,时间序列预测已经成为了重要的工具。本文将介绍如何使用L…

Apifox 学习笔记 - 前置操作之:自定义变量给请求参数中使用

Apifox 学习笔记 - 前置操作之&#xff1a;动态更新请求体中的时间戳 1. 在前置操作中添加一个&#xff1a;自定义脚本或公共脚本2. 定义我们所需的环境变量。3. 在请求参数中使用【时间戳】4. 检验5. 示例自定义变量mock 参考资料 1. 在前置操作中添加一个&#xff1a;自定义脚…

如何下载GitHub上的代码

新建好要存储的文件夹 右键选择Git Bash Here ls是查看当前文件夹下的文件&#xff0c;可以忽略 git clone 地址 地址在这 直接点复制&#xff0c;粘贴的时候没办法粘贴 可以发现复制即为&#xff1a;CtrlIns&#xff1b;粘贴即为&#xff1a;ShiftIns 于是我们用ShiftIns…

开源ESP32智能小车机械臂控制板Baize_Carboard(支持mixly)

介绍 采用esp32做主控的Baize_Carboard&#xff0c;支持4路直流电机或者两路步进电机的控制&#xff0c;也可以用于控制两路直流闭环电机。输入电压范围5-12V&#xff0c;有时候电压5V起不来&#xff0c;要高一点。可以用于学习arduino或者ros编程&#xff0c;同时也可以将ros…

一篇博客学懂文件操作——C语言

一、为什么使用文件 为什么要使用文件呢&#xff1f;在刚开始学文件操作时&#xff0c;我发出这种疑问。我只需要写好程序就行&#xff0c;保不保存到文件中都无所谓吧。所以从一开始我也就抱着走马观花的心态&#xff0c;“象征性听一听就好啦”“以后能用到时候再学吧”....…

[爬虫练手]学校院系专业整理

本文基于上一篇博客&#xff1a;[爬虫练手]整理学校招生信息 文章目录 一.改进上一篇的代码二,嵌套爬虫&#xff0c;提取院系和专业信息目前完整代码 三.让AI润色一下代码完整代码代码学习加入print语句&#xff0c;方便理解 其他 一.改进上一篇的代码 上一篇那个页面没有反爬措…

FastBert学习笔记

论文标题《FastBERT: a Self-distilling BERT with Adaptive Inference Time》。 关于这个论文已经有不错的解读了&#xff0c;所以我写的侧重点可能和别人的不太一样&#xff0c;具体的往下看吧&#xff0c;欢迎讨论。 这个论文从两个方面去掌握&#xff1a; 样本自适应推断…

Oracle11g在红帽Linux上的安装教程

一、版本介绍 本次实验环境所使用虚拟机为VMware17&#xff08;16或15版本也可以&#xff09; 镜像版本为Red Hat 7.9&#xff1a; ISO镜像地址&#xff1a; 百度网盘链接 链接&#xff1a;https://pan.baidu.com/s/1p318ZZGMfDp4MllXZXbusg?pwdmpic 提取码&…

C++学习——继承(1)

目录 一&#xff0c;继承是什么&#xff1f; 二&#xff0c;继承的权限 三&#xff0c;继承赋值兼容规则 四&#xff0c;继承中的作用域 一&#xff0c;继承是什么&#xff1f; 我们说面向对象的语言有三大特性&#xff1a;1.封装&#xff0c;2&#xff0c;继承&#xff0c;…

鸿蒙tabbar ArkTS

鸿蒙tabbar ArkTS 做了仿照现在应用的做了一个tabbar。 官方文档地址 参考文档 tabbar 其中有个比较重要的点是&#xff0c;对image资源的引用问题。 资源相关说明 图片是resources目录下的base目录下的。 media目录下的图片的资源不能添加文件夹&#xff0c;只能是文件&a…

【Spring框架】Spring监听器的源码分析

目录 一、Spring监听器模型 二、源码分析 2.1 initApplicationEventMulticaster()&#xff1a;事件广播器的初始化 2.1.1 Spring默认的事件广播器SimpleApplicationEventMulticaste 2.2 registerListeners()&#xff1a;注册事件监听器 2.3 finishRefresh()&#xff1a;完…

京东店铺所有商品数据接口,京东整店所有商品数据接口,京东店铺商品接口,京东API接口

京东店铺所有商品数据接口是开放平台提供的一种API接口&#xff0c;通过调用API接口&#xff0c;开发者可以获取京东整店的商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片、价格信息等详细信息。 京东店铺所有商品数据接口可以用于不同的业务场景&#xff0c;…

【HHO-KELM预测】基于哈里斯鹰算法优化核极限学习机回归预测研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

博图数值按照特定格式(“T000000”)转换成字符串

一、前言 数值按照协议格式&#xff0c;转成字符串。方便和第三方厂家对接。如码垛线使用字符串数据&#xff0c;立库厂家使用dint数据类型&#xff0c;上位机使用DINT数据类型&#xff0c;为了判断数据传输、与动作流程&#xff0c;需要条码的比较&#xff0c;此时可以将数值转…