Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:很认真
// 常量
// define() 方法来创建常量
define('APP_NAME', '多用户商城');
// const 方法来创建常量
const APP_PATH = 'app/admin/index/index.php';
echo APP_NAME . '<br>' . APP_PATH . '<br>';
class A
{
// const 可以创建类常量
const NATION = 'China';
// define() 不能创建类常量
}
echo a::NATION . '<br>';
echo '<hr>';
// define() 定义的常量允许使用表达式作为值,而const只能使用字面量
$domain = 'china.com';
define('MY_EMAIL', 'admin@' . $domain);
echo MY_EMAIL .'<br>';
// const YOU_MEAIL = 'admin@' . $domain;
const YOU_MEAIL = 'admin@qq.com';
echo YOU_MEAIL . '<br>';
$name = 'admin';
// 单引号中的内容会原样输出,不解析内部的变量和特殊字符
echo '$name\t的值是\t$name' . '<br>';
// 双引号的变量和特殊字符会被解析
echo "$name\t的值是\t$name" . '<br>';
// 不相忘第一个变量被解析,可以在第一个$name前添加转义字符`\`
echo "\$name\t的值是\t$name" . '<br>';
// 在单引号或双引号中再次使用单引号或者双引号,也可以使用专义字符`\`
echo '$name\t的值是\t\'$name\'' . '<br>';
// 如何在字符串中输出转义字符
echo "\\$name";
// 索引数组
// 1创建索引数据
$users1[] = 100;
$users1[] = 'admin';
$users1[] = 'admin@qq.cn';
// 查看全部元素
echo '<pre>' . print_r($users1,true) . '</pre>';
// 通过字面量一次性添加多个元素
$users2 = ['200','user','aaa@qq.cn'];
echo '<pre>' . print_r($users2,true) . '</per>';
// 如果想获取到变量或数组元素的更多信息,可以使用var_dump()
var_dump($users1);
echo '<hr>';
// 索引数组的访问
// 访问某一个元素,当成变量
echo $users1[2] . '<br>';
// 索引数组的遍历
foreach ($users1 as $itme) {
echo $itme . '<br>';
}
echo '<hr>';
// 数组元素与变量之间的转换
$users2 = ['200','user','aaa@qq.cn'];
list($id, $user, $email) = $users2;
echo "id => $id, user => $user ,email => $email";
// 数组转为字符串 拉平一个数组,存储到数据表
$users3[] = 100;
$users3[] = 'admin';
$users3[] = 'admin@qq.cn';
echo '<hr>';
$s = implode(',', $users1);
echo $s;
$sql = "insert user set comment = ${s}";
echo '<hr>';
//将一个字符串 再转换成索引数组
$users4 = ['200','user','aaa@qq.cn'];
$bb = explode(',','$users4');
// echo $bb;
echo '<pre>' . print_r($users4,true) . '</per>';
// ------------------------------------------------------
echo '<hr>';
// 关联数组
// 键名采用语义化的字符串 访问时不再依赖于元素在数组中的位置
$users5['id'] = 1;
$users5['name'] = '手机';
$users5['price'] = 3000;
echo '<pre>' . print_r($users5,true) . '</pre>';
//用字面量方式创建
$users6 = ['id'=>2, 'name'=>'电脑', 'price'=>5999];
// 用遍历
foreach ($users6 as $value) {
echo $value. '<br>';
}
foreach ($users6 as $key => $value) {
echo "['$key']=>$value".'<br>';
}
echo '<hr>';
// 关联数组与变量之间的转换
extract($users6);
// 关联数组转换成了变量
// $id = 2, $name = '电脑', $price = 5999
echo "id=>$id, name=>$name, price=>$price";
//反过来也可以将一些独立的变量组装成一个关联数组
echo '<hr>';
$dsn = 'sqlsadfergasdf';
$username = 'root';
$password = 'root';
$link = compact('dsn', 'username', 'password');
echo '<pre>'. print_r($link,true). '</pre>';
//将关联数组转换成索引数组
echo '<hr>';
$arr = array_values($users6);
echo '<pre>'. print_r($arr,true). '</pre>';
// ----------------------------------------------------
echo '<hr>';
// 多维数组
// 数组元素,除了可以是原始类型,也可以是一个数组,这时就形成了多维数组
// 从数据表中读取的记录 php会转成二维数组,日常开发,二维数组用的最多
$user = [
['id'=> 101, 'name'=> '平板', 'price'=> 9000],
['id'=> 102, 'name'=> '手机卡', 'price'=> 100],
['id'=> 103, 'name'=> '归属感', 'price'=> 80],
];
echo $user[1]['name'];
foreach ($user as $user) {
// print_r($user);
// echo '<br>';
echo "id=>{$user['id']}, name={$user['name']}, price=>{$user['price']}";
}
//流程控制之分支
// 1单分支
// 购买数量
$count = 11;
// 单价
$price = 50;
// 金额
$total = 0;
// 折扣率
$discount = 1;
if ($count >= 10 && $count < 20) {
$discount = 0.9;
}
$total = $count * $price * $discount;
echo "数量:$count 金额:$total 折扣:$discount<hr>";
// 2双分支
$count = 3;
if ($count >= 10 && $count <20) {
$discount = 0.9;
}else{
$discount = 1;
}
$total = $count * $price * $discount;
echo "数量:$count 金额:$total 折扣:$discount<hr>";
// 3多分枝
$count = 32;
if ($count >= 10 && $count < 20) {
$discount = 0.9;
}elseif ($count >=20 && $count <=30) {
$discount = 0.8;
}elseif ($count >=30) {
$discount = 0.7;
}else{
$discount = 1;
}
$total = $count * $price * $discount;
echo "数量:$count 金额:$total 折扣:$discount<hr>";
// 4 switch() 简化多分支
$count = 31;
switch (true) {
case $count >= 10 && $count < 20:
$discount = 0.9;
break;
case $count >=20 && $count <=30:
$discount = 0.8;
break;
case $count >=30:
$discount = 0.7;
break;
default:
$discount = 1;
}
$total = $count * $price * $discount;
echo "数量:$count 金额:$total 折扣:$discount<hr>";