批改状态:合格
老师批语:其实群中几乎每一个同学, 都或多或少有些基础的, 有一些甚至就中程序员, 咱们教的知识 , 都是大家在工作中经常会用到, 但却常常会犯错的地方....你有一些基础, 更应该对自己狠一点 对于引号中数据的处理, 非常重要, 建议自己再多做一些练习...
语法:
define('APP_NAME', '多用户商城');//参数说明:两个参数,第一个参数表示常量名;第二个参数表示常量值。
代码解析效果:
语法:
const APP_PATH = 'app/admin/index/.php';
代码解析效果:
echo当成普通变量显示define不可以创建类常量,const可以创建类常量
class A{//const可以创建类常量const NATION = 'CHINA';//define不可以创建类常量//会报错//define('USER_NAME', 'admin');}echo A::NATION,'<br>';
define可以使用表达式, 而const中能用字面量实例代码:
$domain = 'php.cn';//define可以使用表达式,define ('MY_EMAIL', 'admin@' . $domain);echo MY_EMAIL, '<br>';const NEW_EMAIL = 'admin@' . domain;//报错

//单引号中的内容会原样输出,不解析内部的变量和特殊字符echo '$name\t的值是\t$name <br>';

//双引号中的特殊字符会被解析echo "$name\t的值是\t$name <br>";

//不希望第一个变量被解析,可以能过在变量前添加转义字符“\”echo "\$name\t的值是\t$name <br>";

//在单引号或双引号中引用自身,也是通过转义字符echo '$name\t的值是\t\'$name\' <br>';echo "\$name\t的值是\t\"$name\" <br>";

//在字符串中输出转义字符echo "\\$name" , '<br>';

//双引号中的变量标识符如果与其它字符串连接在一起会引起解析错误echo "\$name\t的值是$namehello <br>";//处理办法echo "\$name\t的值是{$name}hello <br>";

[]中, 多个元素之间用逗号分隔开
//赋值,把'user1[0]看成变量名'$user1[0] = 10;$user1[1] = 'admin';$user1[2] = 'admin@php.cn';//查看全部元素//不行,输出类型echo $user1 . '<br>';//查看类型echo gettype($user1) . '<br>';//加'true'参数,返回成字符串$str = print_r($user1, true) . '<br>';echo gettype($user1) . '<br>';//<pre>标签格式化echo '<pre>' . print_r($user1, true) . '</pre>' . '<br>';

<?php//键名连续,整数可省略$user2[] = 10;$user2[] = 'admin';$user2[] = 'admin@php.cn';//追加$user2[] = 'php中文网';echo '<pre>' . print_r($user2, true) . '</pre>';

[]中, 多个元素之间用逗号分隔开
$user1[0] = 10;$user1[1] = 'admin';$user1[2] = 'admin@php.cn';$user2[] = 10;$user2[] = 'admin';$user2[] = 'admin@php.cn';//追加$user2[] = 'php中文网';//通过字面量一次添加多个元素$user3 = [20, '*jack', 'jack@php.cn'];echo '<pre>' . print_r($user3, true) . '</pre>';//如果想获取到变量或数组的更多 信息,可以 使用var_dump()——可以同时输出多个var_dump($user1, $user2,$user3);

$user2[] = 10;$user2[] = 'admin';$user2[] = 'admin@php.cn';//访问索引数组的某个元素,当成变量echo输出echo $user2[2], '<br>';

$user2[] = 10;$user2[] = 'admin';$user2[] = 'admin@php.cn';$user2[] = 'php中文网';//遍历索引数组:foreachforeach ($user2 as $value) {echo $value, '<br>';}

$user3 = [20, 'jack', 'jack@php.cn'];list($id, $name, $email) = $user3;echo "id=>$id, name=>$name, email=>$email <br> ";

$user3 = [20, 'jack', 'jack@php.cn'];$str = implode(',', $user3);//第一个参数:分隔;echo gettype($str), ' : ', $str, '<br>';//sql语句$sql = "INSERT 'users' SET 'comment' = ${str}";

//将一个字符串,再转换成索引数组$str = 'html=css=js=php=laravel';$arr = explode(',', $str);//第一个参数:分隔;echo '<pre>' . print_r($arr, true) . '</pre>';

关联数组:键名采用主义化的字符串,访问时不再依赖于元素在数组中的位置
通过赋值的方式创建关联数组
//通过赋值的方式, 直接添加/追加到数组中$products1['id'] = 100;$products1['name'] = '手机';$products1['price'] = 5000;echo '<pre>' . print_r($products1, true) . '</pre>';

$products2 = ['id'=>105, 'name'=> '电脑', 'price'=>9000];//也用foreach()遍历foreach ($products2 as $value) {echo $value , '<br>';}//输出键名+键值foreach ($products2 as $key=>$value) {echo "['$key'] => $value <br>";}

$products2 = ['id'=>105, 'name'=> '电脑', 'price'=>9000];//关联数组与变量之间的转换extract($products2);//没有创建'$id,$name,$price'也能调用echo "id=>$id, name=>$name, price=>$price <br>";

$dsn = 'mysql:host=localhost;dbname=php';$username = 'root';$password = 'root';$linkParams = compact('dsn', 'username', 'password');//compact参数对应变量名echo '<pre>' . print_r($linkParams, true) . '</pre>';

$dsn = 'mysql:host=localhost;dbname=php';$username = 'root';$password = 'root';function connect(...$linkParams){// 返回的是索引数组print_r($linkParams);}connect($dsn, $username, $password);

$products2 = ['id'=>105, 'name'=> '电脑', 'price'=>9000];$indexArr = array_values($products2);echo '<pre>' . print_r($products2, true) . '</pre>';echo '<pre>' . print_r($indexArr, true) . '</pre>';

$users = [['id'=> 101, 'name'=> '小王', 'grade'=> 88],['id'=> 102, 'name'=> '小张', 'grade'=> 78],['id'=> 103, 'name'=> '小李', 'grade'=> 68],];// 访问一个echo $users[1]['name'], '<br>';//遍历foreach ($users as $user) {// print_r($user);echo '<br>';//'{}'包装echo "id=>${user['id']}, name=>${user['name']}, price=>${user['grade']} <br>";}

if: 单分支
//实例:如果$a大于$b, 则输出:“a大于b”$a = 15;$b = 13;if ($a > $b)echo "a大于b";

if - else: 双分支
if (expr)statement1elsestatement2/** 如果表达式expr为真,执行statement1* 如果表达式expr为假,执行statement2* */
// 单价$price = 50;// 金额$total = 0;// 折扣率$discount = 1;//数量$count = 16;//$count = 3;if ($count >= 10 && $count < 20) {$discount = 0.9;} else {$discount = 1;}$total = $count * $price * $discount;echo "购买数量: $count, 总金额: $total, 折扣率: $discount <hr>";

if - elseif - else: 多分支
// 3. 多分支$count = 5;$count = 15;$count = 25;$count = 35;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>";

switch - case - break: 多分支简化方案
// 单价$price = 50;// 金额$total = 0;// 折扣率$discount = 1;// 4. switch(), 简化多分支$count = 8;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>";

年底比较忙; 掉队了,只能争取利用过年时间来赶了,用周未时间先补上一天的的作业了。
php以前自学过一段时间,也可能是因为才刚开始,感觉还不难。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号