PHP 学习路线

PHP 官网文档(中文):https://www.php.net/manual/zh/langref.php
ThinkPhp (官方手册、入门教程):https://sites.thinkphp.cn/1556331

​W3School PHP 教程:http://www.w3school.com.cn/php/index.asp
w3cschool (在线教程&技术文档):https://www.w3cschool.cn

菜鸟教程:https://www.runoob.com/php/php-tutorial.html

php教程,php学习路线图:https://www.zhihu.com/question/60882384

在线工具:https://c.runoob.com/

1、PHP 学习路线

学习框架图

第一阶段:网页入门

  • 1)Html(掌握):html 文本排版、表格和超级链接、表单和框架
  • 2)CSS:css语法与属性、盒子模型、DIV+CSS布局
  • 3)Html5+Css3(掌握):html5、css3
  • 4)Bootstrap(重点):Bootstrap的布署、全局CSS样式、CSS组件
  • 5)Javascript(重点):JS简介、JS语法、JS引入方式、JS内置对象、BOM模型、DOM模型、事件编程
  • 6)Jquery(重点):jquery各种选择器、DOM与jquery对象、属性操作、jquery特效、事件操作、文档处理、jquery插件机制

第二阶段:PHP 入门

​学习面向过程的编程方式,解决一些常规业务的逻辑,实现表单传值、文件编程、会话技术、图像处理等事项。让自己完全具备建设初级动态的能力。

  • 1)PHP环境搭建(掌握):静态与动态网站的区别、WEB程序的访问流程、搭建基于域名的虚拟主机、自定义环境搭建、搭建wamp环境、环境体验-安装discuz论坛
  • 2)PHP核心(重点):变量和常量、数据类型和运算符、流程控制、函数、文件包含、运算符、字符串、数组
  • 3)Mysql基础(重点):SQL操作、列类型与列属性、字符集、表关系、mysql三大查询、高级数据操作、数据的备份与还原、mysql用户权限管理、PHP操作Mysql
  • 4)PHP典型技术(重点):http协议、表单传值、文件处理、会话技术、GD图像处理
  • 5)项目实战(掌握):bbs论坛后端实现

第三阶段:PHP中级

学会利用OOP思想和MVC设计,实现手写PHP项目框架能力。拥有实现动态网站主流功能的能力,如无限极分类、页面数据检索、内容采集等。能掌握实现页面静态化和邮件处理等较高级的技术。具备建设主流中小型网站的能力。

  • 1)PHP面向对象(掌握):面向对象基础、使用面向对象、面向对象三大特性、PHP中的继承、对象的遍历、对象序列化、反射机制、命名空间
  • 2)PDO(熟悉):PDO基本操作及增删改查、PDO属性控制、PDO预处理、PDO异常处理、PDO封装
  • 3)ICFrarme框架(重点):MVC设计模式、框架搭建
  • 4)Smarty模版(熟悉):模版技术原理、Smarty快速入门、Smarty模版设计、Smarty程序设计、Smarty缓存技术
  • 5)项目升级(重点):邮件技术、页面静态化、正则表达式、内容采集、功能完善

第四阶段:PHP高级

能够使用 ThinkPHP 框架进行项目的快速开发。可以实现后台的 RBAC 权限管理功能,掌握代码管理、前后台交互、多表连接、数据分析、轮询技术、网站优化技术。通过该阶段学习后,将拥有中大型网站及办公室OA系统的开发能力。

  • 1)SVN(掌握):SVN概述及安装、SVN使用详解、配置多仓库与权限控制、SVN服务器配置与管理、钩子程序
  • 2)XML(熟悉):XML语法、SimpleXML,XPath、案例-在线词典      
  • 3)Ajax(掌握):Ajax快速入门、Ajax对象、发送get、post请求、用XML、JSON传输数据、Ajax跨域请求、Ajax案例-分页,聊天室
  • 4)ThinkPHP(重点):ThinkPHP快速入门、ThinkPHP控制器、ThinkPHP视图、ThinkPHP模型、ThinkPHP实用项
  • 5)Linux(重点):linux安装、shell使用、VI编辑器、用户、组、文件管理、Lamp环境搭建
  • 6)优化技术(重点):数据库优化、Sphinx全文索引、Memcache、URL优化

第五阶段:PHP企业级开发

  • 1)Redis(掌握):Nosql常见产品介绍、安装启动、数据类型讲解、PHP支持redis、安全认证与高级案例、持久化机制、主从配置
  • 2)九大接口编程(重点):支付、配送、微信、短信、邮件、地图、百度API、腾讯API、本地数据接口
  • 3)MongoDB(重点):MongoDB认识、基本和常用命令、索引与用户管理、数据导出与备份、主从复制与分片、PHP支持MongoDB
  • 4)Mysql读写分离(重点):原理、log-bin讲解、配置步骤、代码实现读写分离、ThinkPHP中使用读写分离     
  • 5)服务器架构(重点):WEB服务器集群、Nginx负载均衡、Session共享、反向代理服务器

第六阶段:PHP 拓展

1、掌握PHP开源产品的使用,并能进行快速、深度的二次开发。学完后能掌握各种企业门户网站、政府机关、教育机构、媒体机构、个人站长等网站的快速开发。
2、掌握混合式开发方法开发手机APP,该APP可兼容安卓手机和IOS手机,学完后可实现PC端网站(或企业OA平台)内容在手机端同步观看和更新!

  • 1)WebApp(重点):框架基础、PhoneGap底层实现、Hyrid混合式开发、应用JS SDK类库
  • 2)CMS深度开发(重点):理解cms系统、熟练应用dedecms系统标签、利用dedecms开发a67电影网、应用dedecms的数据采集
  • 3)Hadoop(了解):Hadoop安装与配置、HDFS配置、Hadoop入门案例、PHP编写MapReduce
  • 4)Mysql高级(重点):外键和范式、视图和事务安全、触发器、函数、存储过程、索引
  • 5)Js高级(重点):js常用事件、js面向对象、js闭包、js函数调用

2、PHP 学习

PHP 在线工具:https://www.runoob.com/try/runcode.php?filename=demo_intro&type=php

简  介

PHP(全称:PHP:Hypertext Preprocessor,即 "PHP:超文本预处理器")是一种创建动态交互性站点、通用开源的服务器端脚本语言。

PHP 文件

  • PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
  • PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器 ( 如图:当用浏览器访问时,前端源码看到的时执行后的结果。所以:php 代码首先在服务器上运行,然后将运行后的结果以 HTML 形式返回给浏览器,浏览器再渲染显示 )
  • PHP 文件的默认文件扩展名是 ".php"

PHP 能做什么

  • PHP 可以生成动态页面内容
  • PHP 可以创建、打开、读取、写入、关闭服务器上的文件
  • PHP 可以收集表单数据
  • PHP 可以发送和接收 cookies
  • PHP 可以添加、删除、修改您的数据库中的数据
  • PHP 可以限制用户访问您的网站上的一些页面
  • PHP 可以加密数据

PHP 安装

如果不想自己安装 PHP,可以使用 集成服务器

PHP 脚本可以放在文档中的任何位置。PHP 脚本以 <?php 开始,以 ?> 结束:

<?php
    // PHP 代码
?>
  • PHP 文件的默认文件扩展名是 ".php"。
  • PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。
  • PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
  • PHP 有两种在浏览器输出文本的基础指令:echo 和 print。echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
<!DOCTYPE html>
<html>
<body>
  
<?php
// 这是单行注释
# 这也是单行注释
/*
这是多行注释
多行注释
多行注释
*/
echo "Hello World!\n";
print "print 打印";	
?>
</body>
</html>

PHP 变量

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

PHP 是一门弱类型语言,不需要声明变量的数据类型,PHP 会根据变量的值,自动把变量转换为正确的数据类型。在强类型的编程语言中,必须在使用变量前先声明(定义)变量的类型和名称。

PHP 没有声明变量的命令。变量在第一次给它赋值的时候被创建。

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

变量的作用域

PHP 有四种不同的变量作用域:

  • local:局部
  • global:全局
  • static::静态
  • parameter:参数。参数是通过调用代码将值传递给函数的局部变量。

local:局部

在函数内声明的变量,是局部变量

global:全局

在函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:

<?php
$x=5; // 全局变量

function myTest()
{
    $y=10; // 局部变量
    echo "<p>测试函数内变量:<p>";
    echo "变量 x 为: $x";
    echo "<br>";
    echo "变量 y 为: $y";
} 

myTest();

echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";
?>

global 关键字用于函数内访问全局变量。在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:

<?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;
?>

Static 作用域

当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。要做到这一点,需要在声明变量时使用 static 关键字:

<?php
function myTest()
{
    static $x=0;
    echo $x;
    $x++;
    echo PHP_EOL;    // 换行符
}
 
myTest();
myTest();
myTest();
?>

PHP 数据类型

PHP 支持以下几种数据类型:

  • String(字符串)
  • Integer(整型)
  • Float(浮点型)
  • Boolean(布尔型)。布尔型可以是 TRUE 或 FALSE。$x=true; $y=false;
  • Array(数组)
  • Object(对象)
  • NULL(空值)
  • Resource(资源类型)

数组

数组示例:创建一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:

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

PHP 5 Array 函数:https://www.runoob.com/php/php-ref-array.html

在 PHP 中,array() 函数用于创建数组,count() 函数用于返回数组的长度。

有三种类型的数组:

  • 数值数组 - 带有数字 ID 键的数组
  • 关联数组 - 带有指定的键的数组,每个键关联一个值。
    有两种创建关联数组的方法:
            $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    或者
            $age['Peter']="35";
            $age['Ben']="37";
            $age['Joe']="43";
    随后可以在脚本中使用指定的键:
  • 多维数组 - 包含一个或多个数组的数组
自动分配 ID 键(ID 键总是从 0 开始):$cars=array("Volvo","BMW","Toyota");

人工分配 ID 键:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";

使用 for 循环,遍历并打印数值数组中的所有值

<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
    echo $cars[$x];
    echo "<br>";
}
?>

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

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

Object(对象)类型

对象数据类型 也可以用于存储数据。在 PHP 中,对象必须声明。

  • 首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。
  • 然后,在类中定义数据类型,
  • 最后,在实例化的类中使用数据类型:
<?php
class Car
{
  var $color;
  function __construct($color="green") {
    $this->color = $color;
  }
  function what_color() {
    return $this->color;
  }
}
?>

PHP NULL 值

  • NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
  • NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
  • 可以通过设置变量值为 NULL 来清空变量数据:
<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>

PHP 资源类型

PHP 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。常见资源数据类型有 打开文件、数据库连接、图形画布区域等。由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。

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

PHP 类型比较

虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。

  • 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
  • 严格比较:用三个等号 === 比较,除了比较值,也比较类型。
<?php
if(42 == "42") {
    echo '1、值相等';
}
 
echo PHP_EOL; // 换行符
 
if(42 === "42") {
    echo '2、类型相等';
} else {
    echo '3、类型不相等';
}
?>

结果:

1、值相等
3、类型不相等

PHP中 比较 0、false、null

<?php
echo '0 == false: ';
var_dump(0 == false);
echo '0 === false: ';
var_dump(0 === false);
echo PHP_EOL;
echo '0 == null: ';
var_dump(0 == null);
echo '0 === null: ';
var_dump(0 === null);
echo PHP_EOL;
echo 'false == null: ';
var_dump(false == null);
echo 'false === null: ';
var_dump(false === null);
echo PHP_EOL;
echo '"0" == false: ';
var_dump("0" == false);
echo '"0" === false: ';
var_dump("0" === false);
echo PHP_EOL;
echo '"0" == null: ';
var_dump("0" == null);
echo '"0" === null: ';
var_dump("0" === null);
echo PHP_EOL;
echo '"" == false: ';
var_dump("" == false);
echo '"" === false: ';
var_dump("" === false);
echo PHP_EOL;
echo '"" == null: ';
var_dump("" == null);
echo '"" === null: ';
var_dump("" === null);

PHP 超级全局变量 ( $GLOBALS、$_POST、$_GET、$_FILES、$_ENV、$_COOKIE、$_SESSION )

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

PHP 超级全局变量列表:

  • $GLOBALS:是一个数组,包含了全部的全局变量,变量的名字就是数组的键。在一个PHP脚本的全部作用域中都可以访问。
  • $_SERVER:包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。
  • $_REQUEST:用于收集 HTML 表单提交的数据
  • $_POST:被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。
  • $_GET:被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。
  • $_FILES:全局数组 $_FILES ,向远程服务器上传文件使用。参看 "高级教程 文件上传"
  • $_ENV:
  • $_COOKIE:和 cookie 相关。参看 "高级教程 cookie"
  • $_SESSION:和 session 相关。参看 "高级教程 session"

示例:

<?php 
$x = 75; 
$y = 25;
function addition() 
{ 
    $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 
}
addition(); 
echo $z; 
?>

<?php 
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>

示例:

<!DOCTYPE html>
<html>
<body>

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

<?php 
$name = htmlspecialchars($_REQUEST['fname']); 
echo $name; 
?>

</body>
</html>

示例:

<!DOCTYPE html>
<html>
<body>

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

<?php 
$name = htmlspecialchars($_POST['fname']); 
echo $name; 
?>

</body>
</html>

示例:

<!DOCTYPE html>
<html>
<body>

<a href="test_get.php?subject=PHP&web=runoob.com">测试 $_GET</a>

</body>
</html>

更多关于 $_POST 和 $_GET

PHP 表单和用户输入:https://www.runoob.com/php/php-forms.html

PHP 常量

常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。

设置常量,使用 define() 函数,函数语法如下:bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

函数有三个参数:

  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
<?php
// 区分大小写的常量名
define("GREETING", "欢迎访问 Runoob.com");
echo GREETING;    // 输出 "欢迎访问 Runoob.com"
echo '<br>';
echo greeting;   // 输出 "greeting",但是有警告信息,表示该常量未定义
?>

PHP 魔术常量

<?php
echo '这是第 ' . __LINE__ . ' 行'. "<br>";
echo '该文件位于 ' . __FILE__ . "<br>";
echo '该文件位于 ' . __DIR__ . "<br>";
echo '命名空间为: '. __NAMESPACE__ . "<br>";

function test_func() {
    echo  '函数名为:' . __FUNCTION__ . "<br>";
	echo  '函数名为:' . __METHOD__  . "<br>";
}
test_func();

class TestClass {
    function _print() {
        echo '类名为:'  . __CLASS__ . "<br>";
        echo  '函数名为:' . __FUNCTION__ . "<br>";
    }
}
$t = new TestClass();
$t->_print();

class Base {
    public function sayHello() {
        echo 'Hello ' . "<br>";
    }
}
 
trait SayWorld {
    public function sayHello() {
        parent::sayHello();
        echo 'World!'. "<br>";
    }
}
 
class MyHelloWorld extends Base {
    use SayWorld;
}
 
$o = new MyHelloWorld();
$o->sayHello();
?>

PHP 字符串

在 PHP 中,只有一个字符串运算符。

  • 并置运算符 (.) 用于把两个字符串值连接起来。
<?php
$txt1="Hello world!";
$txt2="What a nice day!";

echo $txt1 . " " . $txt2 . "\n";
echo $txt1." ".$txt2;
?>

PHP String 参考手册

<?php
echo strlen("Hello world!");
?>

PHP String 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。


函数 描述
addcslashes() 返回在指定的字符前添加反斜杠的字符串。
addslashes() 返回在预定义的字符前添加反斜杠的字符串。
bin2hex() 把 ASCII 字符的字符串转换为十六进制值。
chop() 移除字符串右侧的空白字符或其他字符。
chr() 从指定 ASCII 值返回字符。
chunk_split() 把字符串分割为一连串更小的部分。
convert_cyr_string() 把字符串由一种 Cyrillic 字符集转换成另一种。
convert_uudecode() 对 uuencode 编码的字符串进行解码。
convert_uuencode() 使用 uuencode 算法对字符串进行编码。
count_chars() 返回字符串所用字符的信息。
crc32() 计算一个字符串的 32 位 CRC(循环冗余校验)。
crypt() 单向的字符串加密法(hashing)。
echo() 输出一个或多个字符串。
explode() 把字符串打散为数组。
fprintf() 把格式化的字符串写入到指定的输出流。
get_html_translation_table() 返回 htmlspecialchars() 和 htmlentities() 使用的翻译表。
hebrev() 把希伯来(Hebrew)文本转换为可见文本。
hebrevc() 把希伯来(Hebrew)文本转换为可见文本,并把新行(\n)转换为 <br>。
hex2bin() 把十六进制值的字符串转换为 ASCII 字符。
html_entity_decode() 把 HTML 实体转换为字符。
htmlentities() 把字符转换为 HTML 实体。
htmlspecialchars_decode() 把一些预定义的 HTML 实体转换为字符。
htmlspecialchars() 把一些预定义的字符转换为 HTML 实体。
implode() 返回一个由数组元素组合成的字符串。
join() implode() 的别名。
lcfirst() 把字符串中的首字符转换为小写。
levenshtein() 返回两个字符串之间的 Levenshtein 距离。
localeconv() 返回本地数字及货币格式信息。
ltrim() 移除字符串左侧的空白字符或其他字符。
md5() 计算字符串的 MD5 散列。
md5_file() 计算文件的 MD5 散列。
metaphone() 计算字符串的 metaphone 键。
money_format() 返回格式化为货币字符串的字符串。
nl_langinfo() 返回指定的本地信息。
nl2br() 在字符串中的每个新行之前插入 HTML 换行符。
number_format() 通过千位分组来格式化数字。
ord() 返回字符串中第一个字符的 ASCII 值。
parse_str() 把查询字符串解析到变量中。
print() 输出一个或多个字符串。
printf() 输出格式化的字符串。
quoted_printable_decode() 把 quoted-printable 字符串转换为 8 位字符串。
quoted_printable_encode() 把 8 位字符串转换为 quoted-printable 字符串。
quotemeta() 引用元字符。
rtrim() 移除字符串右侧的空白字符或其他字符。
setlocale() 设置地区信息(地域信息)。
sha1() 计算字符串的 SHA-1 散列。
sha1_file() 计算文件的 SHA-1 散列。
similar_text() 计算两个字符串的相似度。
soundex() 计算字符串的 soundex 键。
sprintf() 把格式化的字符串写入一个变量中。
sscanf() 根据指定的格式解析来自一个字符串的输入。
str_getcsv() 把 CSV 字符串解析到数组中。
str_ireplace() 替换字符串中的一些字符(大小写不敏感)。
str_pad() 把字符串填充为新的长度。
str_repeat() 把字符串重复指定的次数。
str_replace() 替换字符串中的一些字符(大小写敏感)。
str_rot13() 对字符串执行 ROT13 编码。
str_shuffle() 随机地打乱字符串中的所有字符。
str_split() 把字符串分割到数组中。
str_word_count() 计算字符串中的单词数。
strcasecmp() 比较两个字符串(大小写不敏感)。
strchr() 查找字符串在另一字符串中的第一次出现。(strstr() 的别名。)
strcmp() 比较两个字符串(大小写敏感)。
strcoll() 比较两个字符串(根据本地设置)。
strcspn() 返回在找到任何指定的字符之前,在字符串查找的字符数。
strip_tags() 剥去字符串中的 HTML 和 PHP 标签。
stripcslashes() 删除由 addcslashes() 函数添加的反斜杠。
stripslashes() 删除由 addslashes() 函数添加的反斜杠。
strip
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值