4-php基础

php基础

1、php变量

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

<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

1.1 PHP 变量

变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。

PHP 变量规则:

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

PHP 语句和 PHP 变量都是区分大小写的。

创建(声明)PHP 变量

PHP 没有声明变量的命令。

变量在您第一次赋值给它的时候被创建:

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

1.2 PHP 变量作用域

变量的作用域是脚本中变量可被引用/使用的部分。

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

  • local
  • global
  • static
  • parameter
局部和全局作用域

在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 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";
?>

你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。

PHP global 关键字

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

然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。

**注释:**该变量仍然是函数的局部变量。

1.3 参数作用域

参数是通过调用代码将值传递给函数的局部变量。

参数是在参数列表中声明的,作为函数声明的一部分:

<?php
function myTest($x)
{
    echo $x;
}
myTest(5);
?> 2.2 PHP输出

2、常用函数

2.1 echo/print 语句

在 PHP 中有两个基本的输出方式: echo 和 print。

echo 和 print 区别:

  • echo - 可以输出一个或多个字符串
  • print - 只允许输出一个字符串,返回值总为 1

**提示:**echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。

PHP echo 语句

echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。

显示字符串

下面的实例演示了如何使用 echo 命令输出字符串(字符串可以包含 HTML 标签):

<head>
    <meta charset="UTF-8">
</head>
<?php
echo "<h2>PHP 很有趣!</h2>";
echo "Hello world!<br>";
echo "我要学 PHP!<br>";
echo "这是一个"."字符串,"."使用了", "多个", "参数。";
?>
显示变量

下面的实例演示了如何使用 echo 命令输出变量和字符串:

<head>
    <meta charset="UTF-8">
</head>
<?php
$txt1="学习 PHP";
$txt2="BAIDU.COM";
$cars=array("Volvo","BMW","Toyota");

echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP ";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";
?>
PHP print 语句

print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()。

显示字符串

下面的实例演示了如何使用 print 命令输出字符串(字符串可以包含 HTML 标签):

<head>
    <meta charset="UTF-8">
</head>
<?php
print "<h2>PHP 很有趣!</h2>";
print "Hello world!<br>";
print "我要学习 PHP!";
//或者
print("PHP是全世界最好的语言");
?>?>
显示变量

下面的实例演示了如何使用 print 命令输出变量和字符串:

<head>
    <meta charset="UTF-8">
</head>
<?php
$txt1="baidu";
$txt2="baidu.com";
$cars=array("xiaoyun","wanli","wuya");

print $txt1;
print "<br>";
print "在 $txt2 学习 PHP ";
print "<br>";
print "我们老师 {$cars[0]}";
?>

2.2 EOF# PHP EOF(heredoc) 使用说明

PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。

使用概述:

  • 必须后接分号,否则编译通不过。
  • EOF可以用任意其它字符代替,只需保证结束标识与开始标识一致。
  • 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
  • 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
  • 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。
<head>
    <meta charset="UTF-8">
</head>
<?php
echo <<<EOF
        <h1>我的第一个标题</h1>
        <p>我的第一个段落。</p>
EOF;
// 结束需要独立一行且前后不能空格
?>
注意:

1.以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。

2.开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。

3.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接,如下:

<?php
$name="baidu";
$a= <<<EOF
        "abc"$name
        "123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>

2.3 补充:

1.echo

输出一个或者多个字符串。

2.print

和 echo 最主要的区别: print 仅支持一个参数,并总是返回 1。

3.print_r

打印关于变量的易于理解的信息,如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。

4.var_dump

此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

5.var_dump 和 print_r 的区别

var_dump 返回表达式的类型与值而 print_r 仅返回结果,相比调试代码使用 var_dump 更便于阅读。

代码:

打印比较:
<?php
$name="baidu";
$a=array("Volvo","BMW","Toyota");
// 结束需要独立一行且前后不能空格
echo $a;
echo "</br>";
print($a);
echo "</br>";
print_r($a);
echo "</br>";
var_dump($a);
?>

实验一:我的第一个网站交互版PRO

需求:

1、使用no1函数的方式echo输出“这是我的第一个网站交互版本PRO”

2、使用no2函数的方式print输出“baidu 网站是最好的网站”

3、使用no3函数的方式EOF输出:

php是最好用的语言

phpstudy框架也挺好用

<?php
function no1(){
  echo "这是我的第一个网站交互版本PRO";  
  echo PHP_EOL;
}

function no2(){
  print("baidu 网站是最好的网站");
  echo PHP_EOL;

}

function no3(){
  echo <<<EOF
php是最好用的语言
phpstudy框架也挺好用
EOF; 

}

no1();
no2();
no3();
?>

3、php数据类型比较

3,1 数据类型

PHP 变量存储不同的类型的数据,不同的数据类型可以做不一样的事情。

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

  • String(字符串)
  • Integer(整型)
  • Float(浮点型)
  • Boolean(布尔型)
  • Array(数组)
  • Object(对象)
  • NULL(空值)
  • Resource(资源类型)
1/8 PHP 字符串

一个字符串是一串字符的序列,就像 “Hello world!”。

PHP var_dump();函数返回变量的数据类型和值:

你可以将任何文本放在单引号和双引号中:

<?php 
$x = "Hello world!";
var_dump($x);
echo "<br>"; 
$x = 'Hello world!';
var_dump($x);
?> 
2/8 PHP 整型

整数是一个没有小数的数字。

整数规则:

  • 整数必须至少有一个数字 (0-9)
  • 整数不能包含逗号或空格
  • 整数是没有小数点的
  • 整数可以是正数或负数
  • 整型可以用三种格式来指定:十进制, 十六进制( 以 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);
?>
3/8 PHP 浮点型

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

在以下实例中我们将测试不同的数字。

<?php 
$x = 10.365;
var_dump($x);
echo "<br>"; 
$x = 2.4e3;
var_dump($x);
echo "<br>"; 
$x = 8E-5;
var_dump($x);
?>
4/8 PHP 布尔型

布尔型可以是 TRUE 或 FALSE。

布尔型通常用于条件判断。

$x=true;
$y=false;
var_dump($x,$y);
5/8 PHP 数组

数组可以在一个变量中存储多个值。

在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:

<?php 
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>
6/8 PHP 对象

对象数据类型也可以用于存储数据。

在 PHP 中,对象必须声明。

首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。

然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:

<?php
class Car
{
  function what_color($color) {
    return $color;
  }

}

$color = new Car();
echo $color->what_color("red");
?>

以上实例中PHP关键字this就是指向当前对象实例的指针,不指向任何其他对象或类。

7/8 PHP NULL 值

NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。

NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。

可以通过设置变量值为 NULL 来清空变量数据:

<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>
8/8 PHP 资源类型

PHP 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。

常见资源数据类型有打开文件、数据库连接、图形画布区域等。

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

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

get_resource_type(resource $handle): string

此函数返回一个字符串,用于表示传递给它的 resource 的类型。如果参数不是合法的 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";
// 打印:doent
?>

3.2 PHP 类型比较

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

  • 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
  • 严格比较:用三个等号 === 比较,除了比较值,也比较类型。

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

<?php
header("content-type:text/html;charset=utf-8"); //保持中文不乱码
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 "</br>";
echo '0 == null: ';
var_dump(0 == null);
echo '0 === null: ';
var_dump(0 === null);
echo "</br>";
echo 'false == null: ';
var_dump(false == null);
echo 'false === null: ';
var_dump(false === null);
echo "</br>";
echo '"0" == false: ';
var_dump("0" == false);
echo '"0" === false: ';
var_dump("0" === false);
echo "</br>";
echo '"0" == null: ';
var_dump("0" == null);
echo '"0" === null: ';
var_dump("0" === null);
echo "</br>";
echo '"" == false: ';
var_dump("" == false);
echo '"" === false: ';
var_dump("" === false);
echo "</br>";
echo '"" == null: ';
var_dump("" == null);
echo '"" === null: ';
var_dump("" === null);
?>

以上实例输出结果为:

0 == false: bool(true)
0 === false: bool(false)

0 == null: bool(true)
0 === null: bool(false)

false == null: bool(true)
false === null: bool(false)

"0" == false: bool(true)
"0" === false: bool(false)

"0" == null: bool(false)
"0" === null: bool(false)

"" == false: bool(true)
"" === false: bool(false)

"" == null: bool(true)
"" === null: bool(false)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4、PHP常量

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

一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。

注意: 常量在整个脚本中都可以使用。

4.1 设置PHP常量

设置常量,使用 define() 函数,函数语法如下:

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

该函数有三个参数:

  • **name:**必选参数,常量名称,即标志符。
  • **value:**必选参数,常量的值。
  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

以下实例我们创建一个 区分大小写的常量, 常量值为 “欢迎访问 mashibing.com”:

<?php
header("content-type:text/html;charset=utf-8"); //保持中文不乱码
// 区分大小写的常量名
define("GREETING", "欢迎访问 baidu.com");
echo GREETING;    // 输出 "欢迎访问 baidu.com"
echo '<br>';
echo greeting;   // 输出 "greeting",但是有警告信息,表示该常量未定义
?>

以下实例我们创建一个 不区分大小写的常量, 常量值为 “欢迎访问 mashibing.com”:

4.2 常量是全局的

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

以下实例演示了在函数内使用常量,即便常量定义在函数外也可以正常使用常量。

<?php
header("content-type:text/html;charset=utf-8");

define("GREETING", "欢迎访问 baidu.com");
function myTest() {
    echo GREETING;
}

myTest();    // 输出 "欢迎访问 baidu.com"
?>

5、PHP字符串

字符串变量用于存储并处理文本。

在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。

在下面的实例中,我们创建一个名为 txt 的字符串变量,并赋值为 “Hello world!” 。然后我们输出 txt 变量的值:

<?php
$txt="Hello world!";
echo $txt;
?>

注释:当您赋一个文本值给变量时,请记得给文本值加上单引号或者双引号。

5.1 PHP 并置运算符

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

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

下面的实例演示了如何将两个字符串变量连接在一起:

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

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

**提示:**在上面的代码中,我们已经使用了两次并置运算符。这是由于我们需要在两个字符串之间插入一个空格。

5.2 PHP strlen() 函数

有时知道字符串值的长度是很有用的。

strlen() 函数返回字符串的长度(字节数)。

下面的实例返回字符串 “Hello world!” 的长度:

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

上面的代码将输出:12

**提示:**strlen() 常常用在循环和其他函数中,因为那时确定字符串何时结束是很重要的。(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环。)

5.3 PHP strpos() 函数

strpos() 函数用于在字符串内查找一个字符或一段指定的文本。

如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

下面的实例在字符串 “Hello world!” 中查找文本 “world”:

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

上面的代码将输出:6

**提示:**在上面的实例中,字符串 “world” 的位置是 6。之所以是 6 而不是 7 的原因是,字符串中第一个字符的位置是 0,而不是 1。

6、运算符

本章节我们将讨论 PHP 中不同运算符的应用。

在 PHP 中,赋值运算符 = 用于给变量赋值。

在 PHP 中,算术运算符 + 用于把值加在一起。

以下实例演示了使用不同算术运算符得到的不同结果:

<?php 
$x=10; 
$y=6;
echo ($x + $y); // 输出16
echo '<br>';  // 换行

echo ($x - $y); // 输出4
echo '<br>';  // 换行

echo ($x * $y); // 输出60
echo '<br>';  // 换行

echo ($x / $y); // 输出1.6666666666667
echo '<br>';  // 换行

echo ($x % $y); // 输出4
echo '<br>';  // 换行

echo -$x;
?>

6.1 PHP 赋值运算符

以下实例演示了使用不同赋值运算符得到的不同结果:

<?php 
$x=10; 
echo $x."</br>"; // 输出10

$y=20; 
$y += 100;
echo $y."</br>"; // 输出120

$z=50;
$z -= 25;
echo $z."</br>"; // 输出25

$i=5;
$i *= 6;
echo $i."</br>"; // 输出30

$j=10;
$j /= 5;
echo $j."</br>"; // 输出2

$k=15;
$k %= 4;
echo $k."</br>"; // 输出3
?>

以下实例演示了使用不同字符串运算符得到的相同结果:

<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // 输出Hello world! 

$x="Hello";
$x .= " world!";
echo $x; // 输出Hello world! 
?>

6.2 PHP 递增/递减运算符

以下实例演示了使用递增/递减运算符得到的结果:

<?php
$x=10; 
echo ++$x; // 输出11

$y=10; 
echo $y++; // 输出10

$z=5;
echo --$z; // 输出4

$i=5;
echo $i--; // 输出5
?>

6.3 PHP 比较运算符

比较操作符可以让您比较两个值:

以下实例演示了使用一些比较运算符得到的不同结果:

<?php
$x=100; 
$y="100";

var_dump($x == $y);
echo "<br>";
var_dump($x === $y);
echo "<br>";
var_dump($x != $y);
echo "<br>";
var_dump($x !== $y);
echo "<br>";

$a=50;
$b=90;

var_dump($a > $b);
echo "<br>";
var_dump($a < $b);
?>

6.4 PHP 逻辑运算符

在这里插入图片描述

逻辑运算符用来组合逻辑运算的结果,如对两个布尔值或两个比较表达式进行逻辑运算,再返回一个布尔值;
对于逻辑与 (&&和and) 和逻辑或 (||和or),虽含义相同,但运算符的优先值不同,“&&” 的优先级比 “and” 高,“||” 的优先值比 “or” 高;

6.5PHP 数组运算符

以下实例演示了使用一些数组运算符得到的不同结果:

<?php
$x = array("a" => "red", "b" => "green"); 
$y = array("c" => "blue", "d" => "yellow"); 
$d = array("b" => "green","a" => "red" ); 
$z = $x + $y; // $x 和 $y 数组合并
var_dump($z);
echo "</br>";
var_dump($x == $y);
echo "</br>";
var_dump($x === $y);
echo "</br>";
var_dump($x != $y);
echo "</br>";
var_dump($x <> $y);
echo "</br>";
var_dump($x !== $y);
echo "</br>";
var_dump($x == $d);
echo "</br>";
var_dump($x === $d);
echo "</br>";
?>

6.6 括号的使用

我们通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加代码的可读性。

<?php
// 括号优先运算
$a = 1;
$b = 2;
$c = 3;
$d = $a + $b * $c;
echo $d;
echo "\n";
$e = ($a + $b) * $c;  // 使用括号
echo $e;
echo "\n";
?>

以上实例输出结果为:

7
9

实验二:简单版计算器

需求:能够自定义输入两个值进行±*/的计算

具体代码如下:

前端代码如下,请补充后端代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
    <form action="" method="get">
        <label>数字1</label><input type="number" name="num1">
        <label>运算符:</label>
        <select name="opt" id="">
            <option value="+" >+</option>
            <option value="-" >-</option>
            <option value="*" >*</option>
            <option value="/" >/</option>
        </select>
        <label>数字2</label><input type="number" name="num2">
        <label></label><input type="submit" value="计算">
        </br>
    </form>
</body>
</html>

完整代码如下:

<?php
    $num1 = $_GET['num1'];
    $num2 = $_GET['num2'];
    $opt = $_GET['opt'];
    $yunsuan =  $num1.$opt.$num2;
    $jieguo =  eval("return $yunsuan;");

?> 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
    <form action="" method="get">
        <label>数字1:</label><input type="number" name="num1">
        <label>运算符:</label>
        <select name="opt" id="">
            <option value="+" >+</option>
            <option value="-" >-</option>
            <option value="*" >*</option>
            <option value="/" >/</option>
        </select>
        <label>数字2:</label><input type="number" name="num2">
        <label></label><input type="submit" value="">
        </br>
        <?php echo $yunsuan.'='.$jieguo;?>
    </form>
</body>
</html>
ption value="/" >/</option>
        </select>
        <label>数字2:</label><input type="number" name="num2">
        <label></label><input type="submit" value="计算">
        </br>
    </form>
</body>
</html>

完整代码如下:

<?php
    $num1 = $_GET['num1'];
    $num2 = $_GET['num2'];
    $opt = $_GET['opt'];
    $yunsuan =  $num1.$opt.$num2;
    $jieguo =  eval("return $yunsuan;");

?> 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
    <form action="" method="get">
        <label>数字1:</label><input type="number" name="num1">
        <label>运算符:</label>
        <select name="opt" id="">
            <option value="+" >+</option>
            <option value="-" >-</option>
            <option value="*" >*</option>
            <option value="/" >/</option>
        </select>
        <label>数字2:</label><input type="number" name="num2">
        <label></label><input type="submit" value="">
        </br>
        <?php echo $yunsuan.'='.$jieguo;?>
    </form>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星星程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值