PHP编程基础实验二之php基础语法编程(四)

实验2-4  PHP基础语法编程(四)

1.实验学时

2学时

2.实验目的

1、进一步熟悉 PHP 基本语法;

2、掌握 PHP 中字符串数据的定义与常用处理方法;

3、掌握 PHP 中数组数据的定义与常用处理方法;

4、掌握 PHP 中的预定义数组及其使用方法。

3.实验设备

    PC计算机,配置Win10操作系统,Word2019,PHPStudy+eclipse for php

4.实验内容及步骤

1实验步骤

①新建 Project File—new—Local PHP Project,命名为PHP2_4

②新建两个php文件,右键单击工程名—new—PHP File

③输入代码并保存

④在浏览器验证代码的正确性并输出运行结果

(2)实验内容

1)

循环生成4个input,输入学号,

点提交按钮后输出所有学号,查找出1811开始的学号,替换为1810,然后输出,格式如图所示:

 

源代码:2_4_1.php

<?php
	echo "请输入学号:</br>";
	echo "<form method=post>";
	for ($i = 1 ; $i < 5 ; $i ++){
		if ($i >= 2) echo "-";
		echo "<input type='text' name='id[]' size='6'>";
	}
	echo "<input type='submit' name='sub' value='提交'>";
	echo "</form>";
	if (isset($_POST['sub'])){
		$k = 0;
		$jsj = array();
		$stu = $_POST['id'];//将文本框的值赋给数组$xuehao不用在变量后面加[]
		for ($i = 0 ; $i < count($stu) ; $i++){
			for ($j = $i + 1 ; $j < count($stu) ; $j++){
				if (strcmp($stu[$i], $stu[$j]) == 0)
					array_splice($stu, $i,1);//将数组中重复的值删除
			}
		}
		$str = implode(",", $stu);//使用逗号作为连接符将数组转化为字符串
		echo "所有的学生学号如下:</br>";
		echo $str."</br>";
		foreach ($stu as $value){
			if (strstr($value, "1811")){
				$string = str_replace("1811", "1810", $value);
				$jsj[$k] = $string;
				$k++;
			}
		}
		echo "计算机专业的学号如下:</br>";
		echo implode(",", $jsj);
	}
?>

结果截图:

点提交之前:

 点提交之后:

2) 制作类似下图所示界面,投诉信息可以自定义,要求点击提交按钮后,输出选中和输入的投诉信息。

源代码:2_4_2.php

<!DOCTYPE HTML>
<html>
<head>
	<meta charset="UTF-8">
	<title>投诉页面</title>
	<style type="text/css">
		#tijiao {
			background-color: rgb(0, 150, 138);
			color: white;
			width: 50px;
			height: 30px;
			border-color: rgb(0, 150, 138);
			border-style: dashed;
		}
		#chongzhi {
			width: 50px;
			height: 30px;
		}
	</style>
	
</head>
<body>
	<form name="form" method="POST" action="">
		<table>
			<tr>
				<td valign="top" align="right">投诉类型</td>
				<td><input id="check" type="checkbox" name="like[0]" value="态度不好">态度不好 <br>
					<input id="check" type="checkbox" name="like[1]" value="业务不熟">业务不熟 <br>
					<input id="check" type="checkbox" name="like[2]" value="没人接电话">没人接电话
				</td>
			</tr>
			<tr>
				<td valign="top" align="right">详情</td>
				<td><textarea rows="5" cols="30" name="desc"></textarea></td>
			</tr>
			<tr>
				<td></td>
				<td><input id="tijiao" type="submit" value="提交" name="ok">
					&nbsp;
					<input id="chongzhi" type="reset" value="重置">
				</td>
			</tr>
		</table>
	</form>
</body>
</html>
<?php
$like=array(
		array('态度不好'),
		array('业务不熟'),
		array('没人接电话')
);
	if (isset($_POST['ok'])){	
		$like = $_POST['like'];
		$desc = $_POST['desc'];	
		foreach($like as $k=>$v){
			echo $k.'->'.$v.'</br>';
		}
// 		while(list($key,$value)=@each($like)){//用while循环也是可以的
// 			echo $key.'->'.$value.'</br>';
// 		}
		echo $desc;
	}
?>

结果截图:

点提交之后:

如果什么都不勾选,也就是传过来的数组是空的时候,会报错

我们需要在给foreach循环加一个前提条件:

if(is_array($like) && !emptyempty($like)){
			foreach($like as $k=>$v){
				echo $k.'->'.$v.'</br>';
			}
			// 		while(list($key,$value)=@each($like)){//用while循环也是可以的
			// 			echo $key.'->'.$value.'</br>';
			// 		}
		}

昨天第三个小题没有写完,今天更新一下


3) 已知数组数据如下:

$books=array(

           array("name"=>"我的2020","price"=>20.0,"author"=>"wang"),

           array("name"=>"PHP程序设计","price"=>48.0,"author"=>"zhang"),

           array("name"=>"C++面向对象程序设计","price"=>30.0,"author"=>"li"),

           array("name"=>"python程序设计","price"=>40.0,"author"=>"zhou"),

           array("name"=>"时间简史","price"=>25.0,"author"=>"sun"),

       );

要求编码实现类似图的界面,数据以表格形式输出,表格格式不限,数组内容输出即可。

源代码:2_4_4.php

<?php 
$books=array(
	       array("name"=>"我的2020","price"=>20.0,"author"=>"wang"),
	       array("name"=>"PHP程序设计","price"=>48.0,"author"=>"zhang"),
	       array("name"=>"C++面向对象程序设计","price"=>30.0,"author"=>"li"),
	       array("name"=>"python程序设计","price"=>40.0,"author"=>"zhou"),
	       array("name"=>"时间简史","price"=>25.0,"author"=>"sun"),
	   );
//创建表格将数组循环输入
	echo '<table border="1" width="600" align="center">';
	echo '<tr>';
	echo '<td>序号</td><td>书名</td><td>价格</td><td>作者</td>';
	echo '</tr>';
	foreach ($books as $k=>$v){
		echo '<tr>';
		echo "<td>".($k + 1)."</td>";
		echo "<td>".$v['name']."</td>";
		echo "<td>".$v['price']."</td>";
		echo "<td>".$v['author']."</td>";
		echo '</tr>';
	}
	echo '</table>';
?>

 结果截图:

至于表格有点丑,这就是页面渲染的问题了,我在这里就不写了,有改进的时候再更新吧!

对了对了,最后,我还想问一句,你们html代码和php代码放一起的时候,以谁的格式插入代码段呀?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值