21,894
社区成员




<?php
//定义商城类
class shop {
//商品对象
private $goods = [];
//单例对象
private static $nav = null;
/*
* 单列模式调用此类
*/
public static function nav() {
if(self::$nav == null) {
self::$nav = new self();
}
return self::$nav;
}
/*
* 构造函数
*/
public function __construct() {
//设定全场折扣
$this -> discount = 8;
}
/*
* 商品添加
* @param $id 商品id
* @param $name 商品名称
* @param $price 商品价格
* @param $num 商品数量
*/
public function add($id, $name, $price, $num = 1) {
if(!isset($this -> goods[$id]))
$this -> goods[$id] = [
'name' => $name,
'price' => $price,
'num' => $num
];
else
$this -> goods[$id] += $num;
return $this -> goods;
}
/*
* 计算总价
*/
public function total_price() {
foreach($this -> goods as $v) $money += ($v['price'] * $v['num']) * ($this -> discount / 10);
return $money;
}
}
$obj = shop::nav();
$obj -> add(1, '香蕉', 7.99, 2);
$obj -> add(2, '苹果', 6.89);
$obj -> add(3, '橘子', 3.99, 3);
echo '总价:' . $obj -> total_price();
如果是题意只是希望简单的计算那么可以直接这样:
echo '总价:' . ((7.99 * 2) + 6.89 + (3.99 * 3)) * 0.8;
题目二:
用PHP编写程序,已知圆的半径,求圆的周长和面积(圆周率约等于3.14,假设圆的半径为15)
那么根据题意此题的解法可为如下方式:
<?php
/*
* 计算周长
* 根据周长计算公式:L=2πr
* 圆面积计算公式:S=π*r*r
* 可进行如下计算:
*/
function get_round($pi, $radius) {
return [
'perimeter' => 2 * $pi * $radius,
'area' => $pi * $radius * $radius
];
}
$round = get_round(3.14, 15);
echo
'圆的周长为:' . $round['perimeter'] . '<br/>' .
'圆的面积为:' . $round['area'] . '<br/>';