博客列表 >PHP数组回调、条件判断,循环表格控制

PHP数组回调、条件判断,循环表格控制

moonheart的博客
moonheart的博客原创
2019年03月20日 10:41:35920浏览

<?php
    header('content-type:text/html;charset=utf-8');

    function myName(){
        return '杨先生,你 好!';
    }
    echo myName().'<hr>';

    //多参数的自定义方法
    function my1($a,$b,$c){
        return $a+$b+$c;
    }
    echo my1(10,39,20).'<hr>';

    //array_filter --过滤数组中的元素
    $a = [10, 20 ,31 ,40 ,50, 21, 10, 91,40];
    echo '原数组:';
    print_r($a);
    echo '原数组中的偶数,使用array_filter过滤  <hr>';

    $b = array_filter($a,function($v){
        return $v % 2 ==0;
    });
    print_r($b);
    echo "<hr>";
    //回调函数 array_map() --把一个规则作用到指定数组元素上
    $c = [90 , 59 , 59 , 59, 59, 49];
    echo '原数组:';
    print_r($c);
    echo '小于50加11,50~60加1,使用array_map定义规则<hr>';
    print_r(array_map('my2', $c));
    //小于50加11,50~60加1,
    function my2($v){
        if ($v < 60 && $v >50){
            return $v+1;
        }else if ($v < 50){
            return $v+11;
        }else{
            return $v;
        }
    }

?>微信截图_20190320103355.png

实例

<?php
$title = 'PHP中文网学习';

$arr=array(
	array(
		6,
		'杨先生',
		'30',
		'男',
		'yangMR@php.com',
		'123456'
	),
	array(
		7,
		'猪哥',
		'23',
		'男',
		'zg@php.com',
		'123456'
	),	
	array(
		8,
		'灭绝师太',
		'18',
		'女',
		'miejue@php.com',
		'123456'
	)
);

$arr2=[
	['id'=>9,'name'=>'特朗普','age'=>19,'sex'=>'男','email'=>'ximen@php.cn','pwd'=>'123456'],
	['id'=>10,'name'=>'梅西','age'=>49,'sex'=>'男','email'=>'meixi@php.cn','pwd'=>'123456'],
	['id'=>11,'name'=>'卡兰特','age'=>29,'sex'=>'妇','email'=>'kanate@php.cn','pwd'=>'123456'],
	];

//定义输出表格的函数PrintArray1,参数为一维数组

function PrintArray1($array1){
	if(isset($array1)){
		foreach ($array1 as $value) {
			return'<tr>
					<td>'.$value[0].'</td>
					<td>'.$value[1].'</td>
					<td>'.$value[2].'</td>
					<td>'.$value[3].'</td>
					<td>'.$value[4].'</td>
					<td>'.$value[5].'</td>
				</tr>';	
		}
	}else{
		return '函数PrintArray1:传参错误,数组为空!请检查!';
	}
}

//定义输出表格的函数PrintArray2,参数为二维数组
function PrintArray2($array2){
	$str='';
	if(isset($array2)){
		foreach ($array2 as $key => $value) {
			$str .='<tr>
					<td>'.$value['id'].'</td>
					<td>'.$value['name'].'</td>
					<td>'.$value['age'].'</td>
					<td>'.$value['sex'].'</td>
					<td>'.$value['email'].'</td>
					<td>'.$value['pwd'].'</td>
				</tr>';	
		}
		return $str;
	}else{
		return '函数PrintArray2:传参错误,数组为空!请检查!';
	}
}
?>
<!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>员工信息表</caption>
		<thead>
			<tr>
				<th>编号</th>
				<th>姓名</th>
				<th>年龄</th>
				<th>性别</th>
				<th>邮箱</th>
				<th>密码</th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<td>1</td>
				<td>猪哥</td>
				<td>30</td>
				<td>男</td>
				<td>zg@php.cn</td>
				<td>123456</td>
			</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>
			<?php 
			//isset 如果变量有值,就是true
			if(isset($arr) && count($arr)>0){
				foreach($arr as $v){
				echo '<tr>
					<td>'.$v[0].'</td>
					<td>'.$v[1].'</td>
					<td>'.$v[2].'</td>
					<td>'.$v[3].'</td>
					<td>'.$v[4].'</td>
					<td>'.$v[5].'</td>
				</tr>';					

				}
			}else{
				echo '<tr>
				<td colspan="6">第一个排序数组没有值</td>
				</tr>';
			}
			?>
			<?php
			//for循环,混编,如果数组大于0,则循环输出每个数组

			if(isset($arr)){
				$n = count($arr);
				for($i=0;$i<$n;$i++){
			?>
			<tr>
				<!-- 判断每个数组元素有值则输出,否输出为空 -->
				<td><?php echo ($arr[$i][0])?$arr[$i][0]:'';   ?></td>
				<td><?php echo ($arr[$i][1])?$arr[$i][1]:'';   ?></td>
				<td><?php echo ($arr[$i][2])?$arr[$i][2]:'';   ?></td>
				<td><?php echo ($arr[$i][3])?$arr[$i][3]:'';   ?></td>
				<td><?php echo ($arr[$i][4])?$arr[$i][4]:'';   ?></td>
				<td><?php echo ($arr[$i][5])?$arr[$i][5]:'';   ?></td>
			</tr>
			<?php
				}
			}else{
			?>
				<tr>
					<td colspan="6">第一个排序没有值,混编模式,for循环</td>
				</tr>
			<?php
			}
			?>
			<?php 
				echo PrintArray2($arr2);
			?>
		</tbody>
	</table>
	<p>总计: 5人</p>
</body>
</html>

运行实例 »

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

微信截图_20190320103710.png微信截图_20190320103724.png微信截图_20190320103742.png微信截图_20190320103801.png微信截图_20190320103926.png微信截图_20190320104035.png

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议