Correction status:Uncorrected
Teacher's comments:
<!--使用变量保存页面中的数据--> <?php // php中的单行注释 /* * php中的多行注释 */ /** * php中的变量定义规则 * 1. 变量有类型与值二个属性 * 2. php变量是弱类型,给什么类型的值,他就是什么类型 * 3. 变量必须以$符开头,就是美元符, 学好php,多多的赚美元 * 4. 变量名必须是合法的标识符: 字母/数字/下划线,且不能以数字开头 */ // 定义文档标题 $title = '员工信息查询'; // 定义表格标题, 这是字符串类型 $tableTitle = '员工信息表'; // 定义员工人数,这是数值类型 $total = 5; // 将页面中原来内容用变量进行替换,会发现显示依然正常 // 变量,之所以叫变量,关键就是在于它的值是可以随时'变化'的 // 更新表格的标题 $tableTitle = 'PHP中文网讲师一览表'; // 其中, 'PHP中文网'是我们网站的名称,这个是不会轻易变化的,也不允许在代码中被更新 // 对于这样的数据, 声明为常量是最合适的 define('SITE_NAME', 'PHP中文网'); // 现在表格标题,可以这样写 $tableTitle = SITE_NAME.'讲师一览表'; // 为了看到与之前的区别,可以能站点名称上添加一个链接 $tableTitle = '<a href="http://php.cn">' . SITE_NAME . '</a>' .'讲师一览表'; // 常量不允许更新, 错误 //SITE_NAME = 'php.cn'; // 销毁一个变量, 此时页面中会发生错误:变量未定义 unset($tableTitle); // 常量是不允许被删除的 //unset(SITE_NAME); // 表中每一行数据,都具有规律性,非常适合用数组格式进行描述 // php中的数组定义,与javascript很相似 $user = [1,'猪阿哥',30, '男', 'zg@php.cn','123456']; // 这样的数组,叫索引数组,是用它的位置索引进行访问,索引从0开始编号 //echo $user[1]; // 访问第二个数组, 现在我们用这种语法,到html中进行替换 //echo count($user); // 索引数组很简洁,但也有一个致命的缺点, 就是元素的值,与它所在的位置是绑定的,必须一一对应 // 很多时候,我们希望用一个关键字来引用数组的值,而不是它在数组中的索引位置 // 例如: $user[1] 和 $user['name'] , 哪个更直观,更方便呢?显示是后者 // 使用有意义的字符串做为键名来引用数组元素的值,叫: '关联数组',类似js中的对象字面量 // 将$user数组改写成'关联数组' $user1 = [ 'id' => 1, 'name' => '猪哥哥', 'age' => 30, 'gender' => '男', 'email' => 'zg@php.cn', 'password' => '888888', ]; //echo $user1['name']; //echo key($user1); //echo current($user1); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title><?php echo $title; ?></title> <style> table,th,td { border: 1px solid #666; padding: 8px; } table { border-collapse: collapse; width: 80%; text-align: center; margin: 30px auto; } thead tr:first-of-type { background-color: lightblue; } tbody tr:hover { background-color: #efefef; } table > caption { font-size: 1.2rem; margin-bottom: 15px; } table + p { text-align: center; } </style> </head> <body> <table> <caption> <?php // 为了防止发生变量未定义的错误,可以在使用变量前进行检测 // 注意 if 语句的用法 if (!isset($tableTitle)) { $tableTitle = '员工信息表'; } // 字符串之间使用点'.'进行拼接,注意与javascript不一样, js使用的是'+'号 echo '<span style="color:red">' . $tableTitle . '</span>'; ?> </caption> <thead> <tr> <th>编号</th> <th>姓名</th> <th>年龄</th> <th>性别</th> <th>邮箱</th> <th>密码</th> </tr> </thead> <tbody> <!-- 第一行数据用php进行输出--> <?php // 使用最原始的方式输出数据 echo '<tr>'; echo '<td>'.$user[0].'</td>'; echo '<td>'.$user[1].'</td>'; echo '<td>'.$user[2].'</td>'; echo '<td>'.$user[3].'</td>'; echo '<td>'.$user[4].'</td>'; echo '<td>'.$user[5].'</td>'; echo '</tr>'; // 上面的代码每多是重复的, 对于重复操作应该使用循环进行简化处理 // 我们用for 循环来简化代码 echo '<tr bgcolor="#deb887">'; // for(循环初始条件;是否继续循环的条件;循环条件更新语句) for ($i = 0; $i < count($user); $i++) { echo '<td>'.$user[$i].'</td>'; } echo '</tr>'; // 除了用for循环, 还可以while循环实现同样的输出 echo '<tr bgcolor="aqua">'; // 将循环初始条件写在循环语句的外部 $i = 0; while ($i < count($user)) { echo '<td>'.$user[$i].'</td>'; // 循环体中,必须要有循环条件的更新语句,防止出现死循环 $i++; } echo '</tr>'; // for 循环输出关联数组 // 使用数组函数: current(), key()都可以实现 echo '<tr bgcolor="#7fffd4">'; for ($i = 0; $i < count($user1); $i++) { // current($arr): 获取当前元素的值 echo '<td>' .current($user1) . '</td>'; // 指针后移一位 next($user1); } echo '</tr>'; // 数组内部指针复位 reset($user1); echo '<tr bgcolor="#6495ed">'; for ($i = 0; $i < count($user1); $i++) { // 使用key($arr): 获取当前元素的键名 $key = key($user1); echo '<td>' .$user1[$key] . '</td>'; next($user1); } echo '</tr>'; // 可以看出使用for处理关联数组还是非常麻烦的,而数据库查询出的数据却都是关联数组 // 所以php提供一个专门用于关联数组遍历的语法结构: foreach() echo '<tr bgcolor="#00bfff">'; foreach ($user1 as $key => $value) { echo '<td>' .$user1[$key] . '</td>'; } echo '</tr>'; // 在本例中, 我们只关心数组的值,所以还可以进一步简化 echo '<tr bgcolor="#ff0">'; foreach ($user1 as $value) { echo '<td>' .$value . '</td>'; } echo '</tr>'; // 关联数组的遍历输出非常重要, 后面的数据库操作中还会大量的用到,课后必须多多练习 ?> <tr> <td>2</td> <td>朱老师</td> <td>40</td> <td>男</td> <td>zls@php.cn</td> <td>123456</td> </tr> <tr> <td>3</td> <td>西门大官人</td> <td>50</td> <td>男</td> <td>xmdgr@php.cn</td> <td>123456</td> </tr> <tr> <td>4</td> <td>灭绝师太</td> <td>60</td> <td>女</td> <td>mjst@php.cn</td> <td>123456</td> </tr> <tr> <td>5</td> <td>韦小宝</td> <td>20</td> <td>男</td> <td>wxb@php.cn</td> <td>123456</td> </tr> </tbody> </table> <p>总计: <?php echo $total; ?> 人</p> </body> </html>
点击 "运行实例" 按钮查看在线实例