博主信息
笑颜常开的博客
博文
61
粉丝
0
评论
0
访问量
28146
积分:0
P豆:211.5

使用foreach/if替代语法循环遍历二维数组、模拟员工管理系统—2019年2月21日

2019年03月22日 14:15:44阅读数:736博客 / 笑颜常开的博客/ PHP开发

1、foreach循环遍历二维数组

       foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。

实例

<?php
$title = "员工名单";
?>
<!DOCTYPE html>
   <html lang="en">
<head>
   <meta charset="utf-8">
   <title><?php echo $title; ?></title>
</head>
<body>
<?php
$arr = array(
     ['id'=>1,'name'=>'张三','sex'=>'男','age'=>'22'],
['id'=>2,'name'=>'李四','sex'=>'女','age'=>'33'],
['id'=>3,'name'=>'王五','sex'=>'男','age'=>'24'],
['id'=>4,'name'=>'陈六','sex'=>'女','age'=>'31']
 );
?>
<table border="1">
   <tr><td>id</td><td>姓名</td><td>性别</td><td>年龄</td></tr>
<?php
$data = '';
foreach($arr as $array){
$data .='<tr>';
$data .= '<td>'.$array['id'].'</td>';
$data .= '<td>'.$array['name'].'</td>';
$data .= '<td>'.$array['sex'].'</td>';
$data .= '<td>'.$array['age'].'</td>';
$data .= '</tr>';
}
echo $data;
?>
</table>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

运行结果

QQ图片20190317195855.png

2、不使用大括号的foreach循环输出(结合if语句)

实例

<?php
$title = "员工名单";
?>
<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="utf-8">
   <title><?php echo $title; ?></title>
</head>
<body>
<?php
$arr = array(
   ['id'=>1,'name'=>'张三','sex'=>'男','age'=>'22'],
['id'=>2,'name'=>'李四','sex'=>'女','age'=>'33'],
['id'=>3,'name'=>'王五','sex'=>'男','age'=>'24'],
['id'=>4,'name'=>'陈六','sex'=>'女','age'=>'31']
);
?>
<table border="1">
   <tr><td>id</td><td>姓名</td><td>性别</td><td>年龄</td></tr>
<?php
   foreach($arr as $array):
?>
<tr><td><?=$array['id'];?></td><td><?=$array['name'];?></td><td><?=$array['sex'] ? '男':'女'; ?>
</td><td><?=$array['age'];?></td></tr>
<?php
   endforeach;
?>
</table>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

运行结果

QQ图片20190317195855.png

3.员工管理系统

(1)index.php中的内容

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>员工管理系统</title>
    <style>
        /*样式重置*/
        h2, p, ul {
            padding: 0;
            margin: 0;
        }

        /*头部样式*/
        .header {
            height: 60px;
            /*background-color: lightblue;*/
            border-bottom: 1px solid #333;
            line-height: 60px;
        }
        .header .content {
            width: 1000px;
            /*background-color: lightgray;*/
            overflow: hidden;
            margin: 0 auto;
        }

        .header .content h2 {
            float:left
        }

        .header .content p {
            float:right;
        }

        /*主体样式*/
        .main {
            width: 1000px;
            min-height: 650px;
            /*background-color: lightcyan;*/
            margin: 0 auto;
            position: relative;
        }

        .main .left {
            width: 120px;
            min-height: inherit;
            /*background-color: lightgreen;*/
            border-right: 1px solid #333;
            position: absolute;
            left: 0;
            top: 0;
        }

        .main .right {
            width: 880px;
            min-height: inherit;
            /*background-color: lightyellow;*/
            position: absolute;
            left: 121px;
            top: 0;
        }

        /*左侧菜单样式*/
        .main .left ul {
            position: absolute;
            left: 30px;
            top: 50px;
        }
        .main .left li {
            list-style-type: none;
            line-height: 50px;
        }
        .main .left li a {
            text-decoration-line: none;
        }

        .main .left li a:hover {
            text-decoration-line: underline;
            color: red;
        }

        /*右侧工作区样式*/
        .main .right iframe {
            width: 880px;
            min-height: 650px;
            border: none;
        }

    </style>
</head>
<body>
    <!--头部-->
    <div class="header">
        <div class="content">
            <h2>员工管理系统</h2>
            <p>管理员: admin  |  <a href="">退出</a></p>
        </div>
    </div>

    <!--中部-->
    <div class="main">
        <!--左侧菜单-->
        <div class="left">
            <ul>
                <li><a href="staff_list.php" target="workspace">员工管理</a></li>
                <li><a href="system.php" target="workspace">系统设置</a></li>
                <li><a href="user_list.php" target="workspace">用户设置</a></li>
            </ul>
        </div>
        <!-- a标签的target属性和iframe的name属性要相同-->
        <!--右侧内容-->
        <div class="right">
            <iframe src="staff_list.php" name="workspace"></iframe>
            <p style="text-align: center;margin-top: -100px;">php中文网 © 版权所有 (2017-2020)</p>
        </div>
    </div>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

(2)staff_list.php中的内容

实例

<?php

// 员工信息
$staffs = [
    ['id'=>1, 'name'=>'候亮平', 'age'=>30, 'sex'=>1, 'hiredate'=> time(), 'mobile'=>'13899776655'],
    ['id'=>2, 'name'=>'赵瑞龙', 'age'=>40, 'sex'=>1, 'hiredate'=> time(), 'mobile'=>'13576543210'],
    ['id'=>3, 'name'=>'李达康', 'age'=>50, 'sex'=>1, 'hiredate'=> time(), 'mobile'=>'18955135522'],
    ['id'=>4, 'name'=>'祁同伟', 'age'=>45, 'sex'=>1, 'hiredate'=> time(), 'mobile'=>'13388888110'],
    ['id'=>5, 'name'=>'高小琴', 'age'=>30, 'sex'=>0, 'hiredate'=> time(), 'mobile'=>'15798986666'],
];

// 标题
$title = '员工信息表';

// 表格标题
$tableTitle = $title;

// 员工数量
$total = count($staffs);
?>
<!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;
        }

        button:hover {
            cursor: pointer;
            background-color: lightblue;
        }

        /*添加按钮给个特殊样式*/
        #add {
            height: 25px;
            width: 90px;
            position: absolute;
            left: 650px;
            top: 40px;
        }

    </style>
</head>
<body>
<button onclick="location.href='#'" id="add">添加</button>

<table>
    <caption>
        <?php
        echo '<span style="color:red">' . $tableTitle . '</span>';
        ?>
    </caption>
    <thead>
    <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>年龄</th>
        <th>性别</th>
        <th>手机</th>
        <td>入职</td>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>

    <!--foreach()替代语法-->
    <?php foreach($staffs as $staff) : ?>
        <tr>

            <td><?php echo $staff['id']; ?></td>
            <td><?php echo $staff['name']; ?></td>


            <td><?php echo $staff['age']; ?></td>

            <!--if()替代语法-->
            <td>
                <?php if($staff['sex'] == 1) : ?>
                    男
                <?php else: ?>
                    女
                <?php endif; ?>
            </td>


            <!--如果只是简单的输出变量可以使用php短标签语法-->
            <td><?=$staff['mobile']?></td>

            <td>
                <?php
                echo date('Y/m/d',$staff['hiredate']);
                ?>
            </td>

            <td>
                <button onclick="location.href='http://baidu.com'">编辑</button>
                <button onclick="location.href='#'"><span style="color:red">删除</span></button>
            </td>

        </tr>
    <?php endforeach;?>

    </tbody>
</table>
<p>总计:
    <?php echo $total;  ?>
    人</p>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

运行结果

QQ图片20190317200611.png

       a标签的target属性值和iframe的name属性值要相同。这样,用户在点击a标签的时候,iframe内联框架(行内框架)和a标签才会产生关联,用户才能访问到相应内容。

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论