一、案例分析
1、需求分析
- 若用户在一个全场8折的网站中购买了2斤香蕉、1斤苹果和3斤橘子,它们的价格分别为7.99元/斤、6.89元/斤、3.99元/斤,那么如何使用PHP程序来计算此用户实际需支付的费用呢?
- 下面通过PHP中提供的变量与常量、算术运算符以及赋值运算符等相关知识来实现PHP中的商品价格计算。
2、设计思路
- 使用PHP提供的变量保存用户所购买商品的名称、价格及数量。
- 由于网站中所有商品的折扣相同,所以使用PHP提供的常量来保存。
- 分别计算用户购买香蕉、苹果和橘子的价格。
- 计算打折后所有商品的总价格。
- 以表格的形式显示用户所购买的商品信息及该用户实际需要支付的费用。
二、案例展示
三、知识点讲解
1、注释
注释是对程序代码的解释和说明,使代码更易于阅读与维护,在解析时会被解析器忽略。
- 在PHP中,最常用的两种注释分别为:单行注释“//”和多行注释“/*……*/”。
- 需要注意的是,多行注释可以嵌套单行注释,但是不能再嵌套多行注释。
2、标识符
在网站开发过程中,经常需要在程序中定义一些符号来标记一些名称,如:类名、方法名、函数名、变量名等,这些符号被称为标识符。
在PHP中,定义标识符要遵循一定的规则,具体如下:
- 标识符只能由字母、数字和下划线组成。
- 标识符可以由一个或多个字符组成,必须以字母或下划线开头。
- 当标识符用作变量名时,区分大小写。
- 若标识符由多个单词组成,那么应使用下划线进行分割,如:user_name。
- 合法标识符:itcast、itcast88、_itcast、username、password等。
- 非法标识符:66itcast、it cast、123、@itcast等。
3、关键字
关键字是编程语言里事先定义好并赋予了特殊含义的单词,也称作保留字。如:class关键字用于定义类,echo用于输出数据,function用于定义函数。
PHP5中所有的关键字
and | or | Xor | __FILE__ | exception |
__LINE__ | array() | As | break | case |
class | const | continue | declare | default |
die() | do | echo | else | elseif |
empty() | enddeclare | endfor | endforeach | endif |
endswitch | endwhile | eval() | exit() | extends |
for | foreach | function | global | if |
include | include_once | isset() | list() | new |
| require | require_once | return | static |
switch
| unset() | use
| var
| while
|
__FUNCTION__ | __CLASS__ | __METHOD__ | final | php_user_filter |
interface | implements | extends
| public | private |
protected | abstract | clone | try | catch |
throw | this |
|
|
|
在使用上面列举的关键字时,需要注意以下两个地方:
- 关键字不能作为常量、函数名或类名使用。
- 关键字虽然可作为变量名使用,但是容易导致混淆,不建议使用。
4、变量
变量的概念:变量就是保存可变数据的容器。
变量的命名:变量是由$符号和变量名组成的,其中变量名的命名规则与标识符相同。
例如:
- 合法变量:$test、$_test、$age、$_name
- 非法变量:$123、$*math、$@u、$6_it
变量的声明:由于PHP是弱类型语言,所以变量不需要事先声明,就可以直接进行赋值使用。
变量的赋值:PHP中的变量赋值分为两种,一种是默认的传值赋值,另一种是引用赋值。
(1)传值赋值——就是指整个原始表达式的值被赋予到目标变量。
$age = 12;
$num = $age;
$age = 100;
echo $num;
- 当变量$age的值修改为100时,$num的值依然是12 。
- 当对变量名不确定的情况时,可以使用{}来对变量进行界定,这是由于“{”无法被转义,只有“$”紧挨着“{”时才会被识别。
(2)引用赋值——就是在要赋值的变量前添加“&”符号。
$age = 12;
$num = &$age;
$age = 100;
echo $num;
- 当变量$age的值修改为100时,$num的值也随之变为100。
- 由于引用赋值的方式相当于给变量起一个别名,当一个变量的值发生改变时,另一个变量也随之变化。
5、常量
常量的概念:常量是指在脚本运行过程中值始终保存不变的量。
它的特点是一旦被定义就不能被修改或重新定义。
例如: 数学中常用的圆周率π就是一个常量,其值就是固定且不能被改变的。
PHP中通常使用define()函数或const关键字来定义常量。
(1)define()函数
define('CON','itcast',true);
echo CON;
echo con;0
- define()函数的第一个参数表示常量的名称
- define()函数的第二个参数表示常量值
- define()函数的第三个参数表示常量对大小写是否敏感(默认值为false)
- 当为true时表示不敏感,如在上述实例中输出值都是itcast。
值得一提的是,输出常量还可使用constant()函数,其用法如下所示:
define('CON','itcast');
echo constant('CON');
- 要想使用constant()函数获取常量的值,只需将其唯一的参数设为常量的名称即可。
(2)const关键字
const pai=3.14;
echo pai;
- 使用const关键字定义了一个名为pai,值为3.14的常量。
6、算术运算符
在数学运算中最常见的就是加减乘除运算,也被称为四则运算。PHP中的算术运算符就是用来处理四则运算的符号,这是最简单、最常用的运算符号。
算术运算符及范例
运算符 | 意义 | 范例 | 结果 |
+ | 加 | 5+5 | 10 |
- | 减 | 6-4 | 2 |
* | 乘 | 3*4 | 12 |
/ | 除 | 5/5 | 1 |
% | 取模(即算术中的求余数) | 7%5 | 2 |
在实际应用过程中还需要注意以下两点:
- 四则混合运算时,运算顺序要遵循数学中“先乘除后加减”的原则。
- 在进行取模运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关。
- 如:(-8)%7 = -1,而8%(-7)= 1。
7、赋值运算符
赋值运算符是一个二元运算符,即它有两个操作数。总是把基本赋值运算符(=)右边的值赋给左边的变量或常量。
- “=”:表示赋值运算符,而非数学意义上的相等的关系。
赋值运算符及范例
运算符 | 意义 | 范例 | 结果 |
= | 赋值 | $a=3;$b=2; | $a=3;$b=2; |
+= | 加等于 | $a=3;$b=2;$a+=$b; | $a=5;$b=2; |
-= | 减等于 | $a=3;$b=2;$a-=$b; | $a=1;$b=2; |
*= | 乘等于 | $a=3;$b=2;$a*=$b; | $a=6;$b=2; |
/= | 除等于 | $a=3;$b=2;$a/=$b; | $a=1.5;$b=2; |
%= | 模等于 | $a=3;$b=2;$a%=$b; | $a=1;$b=2; |
.= | 连接等于 | $a='abc';$a .= 'def'; | $a='abcdef' |
在PHP中一条赋值语句可对多个变量进行赋值。
$first;
$second;
$third;
$first = $second = $third = 3; //为三个变量同时赋值
- 赋值语句的执行顺序是从右到左,即先将3赋值给变量$third。
- 然后再把$third的值赋值给变量$second。
- 最后把变量$second的值赋值给变量$first,完成对三个变量的同时赋值。
除“=”外的其他运算符均为特殊赋值运算符,在使用过程中需要注意以下两点:
(1)“+=”、“-=”、“*=”、“/=”、“%=”的用法类似,这里以“+=”为例进行讲解。
$a = 5;
$a += 4;
相当于:
$a = 5;
$a = $a + 4;
- “+=”:表示变量$a先与4进行相加运算。
- 然后再将运算结果赋值给变量$a。
- 最后变量$a的值为9。
(2)“.=”表示对两个字符串进行连接操作。
$str = 'welcome to ';
$str .= 'itcast';
相当于:
$str = 'welcome to ';
$str = $str. 'itcast';
- “.=”:表示变量$str先与“itcast”字符串进行连接。
- 然后将连接后得到的新字符串再赋值给变量$str。
- 最后变量$str的值为“welcome to itcast”。
四、案例实现
1、代码
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<title>【案例2】商品价格计算</title>
</head>
<body>
<?php
header('Content-type: text/html; charset=utf-8');
const DISCOUNT =0.8;
//定义变量
//定义商品的名称
$fruit1='香蕉';
$fruit2='苹果';
$fruit3='橘子';
//定义商品的购买数量
$fruit1_num =2;
$fruit2_num =1;
$fruit3_num =3;
//定义商品的价格
$fruit1_price =7.99;
$fruit2_price =6.99;
$fruit3_price =3.99;
//计算各个商品的价格
$fruit1_total = $fruit1_num * $fruit1_price;
$fruit2_total = $fruit2_num * $fruit2_price;
$fruit3_total = $fruit3_num * $fruit3_price;
//计算所有商品的总价格 =(香蕉总价格+苹果总价格+ 橘子总价格)* 商品折扣
$total = ($fruit1_total+$fruit2_total+$fruit3_total)*DISCOUNT;
//拼接商品信息:Html页面
$str="<table>";
$str .= "<tr><td>商品名称</td><td>购买数量(斤)</td><td>商品价格(元/斤)</td></tr>";
$str .="<tr><td>{$fruit1}</td><td>{$fruit1_num}</td><td>{$fruit1_price}</td></tr>";
$str .="<tr><td>{$fruit2}</td><td>{$fruit2_num}</td><td>{$fruit2_price}</td></tr>";
$str .="<tr><td>{$fruit3}</td><td>{$fruit3_num}</td><td>{$fruit3_price}</td></tr>";
$str .= "<tr><td colspan='3'>商品折扣:<span>". DISCOUNT."</span></td><tr>";
$str .= "<tr><td colspan='3'>打折后购买商品总价格:{$total}元</td></tr>";
//输出商品的信息
$str .="</table>";
echo $str;
?>
</body>
</html>
2、输出结果
以上是PHP案例2的全部内容,希望可以帮助到大家,今日份PHP笔记就到这吧,继续加油!