本文主要是介绍PHP实验报告题目汇总(层次递进,全面丰富),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我将本学期的多次php实验整理成了博客,将知识点一步步解析清楚。
文章目录
- 实验一
- 实验二 数组
- 实验三 PHP与Web交互
- 实验四 文件上传与字符串方法
实验一
了解PHP的语言基础,流程控制语句
一:定义变量a=100,b=25,分别将a和b进行加减乘除,将加减乘除的结果分别存放在变量add,sub,mul,div中,并输出结果。
输出格式如下所示:
a + b = 125
a - b = 75
a * b = 2500
a / b = 4
代码:
<?php$a = 100;$b = 25;$add = $a + $b;$sub = $a - $b;$mul = $a * $b;$div = $a / $b;echo "a + b = $add <br>";echo "a - b = $sub <br>";echo "a * b = $mul <br>";echo "a / b = $div";
?>
几个知识点:
<?php
是php脚本开始的标志?>
是php脚本结束的标志- php中每条语句,以
;
结束 - php中的变量名称需要使用
$
和标识符表示,变量名区分大小写(而函数名称不区分大小写)
最后四行是输出语句echo "";
其中,<br>
是一个标签,作用:在页面中换行
双引号和单引号的区别:
- 它们都是用来定义字符串的
- 如果字符串中有变量值:
双引号:输出的是变量值
单引号:输出的是字符串(将变量看作字符串输出)
<?php$a = 100;echo "a = $a <br>";//a = 100echo 'a = $a <br>';//a = $a
?>
二:计算半径为12的圆的面积。
输出格式如下所示:
半径为12的圆的面积是:452.3893421
代码:
<?php$r = 12;$area = number_format($r * $r * pi(), 7);echo "半径为12的圆的面积是:$area";
?>
两个函数:
pi()
圆周率函数number_format($erea, 7)
,保留$area
小数点后7位
三:已知小明每月工资8000元,每月需还银行房贷3500元,每月消费1000元,请通过编写PHP程序计算并输出每月总支出、剩余工资和房贷占工资的比例。
输出格式如下所示:
每月总支出:4500
剩余工资:3500
房贷占工资的比例:43.75%
代码:
<?php$salary = 8000;$housing_loan = 3500;$consume = 1000;$pay = $housing_loan + $consume;$odd_salary = $salary - $pay;$ratio = $housing_loan / $salary * 100;echo "每月总支出:$pay <br>";echo "剩余工资:$odd_salary <br>";echo "房贷占工资的比例:".$ratio."%<br>";
?>
第四个输出语句,还是可以这么写:
echo "房贷占工资的比例:$ratio%<br>";
字符串连接符:
- 就是英文小数点
.
, - 例如
"房贷占工资的比例:".$ratio."%<br>"
这样看:"房贷占工资的比例:"
拼接$ratio
拼接"%<br>"
四:计算200以内偶数的和,即求2+4+6+……+200的值。
输出格式如下所示:
200以内偶数的和是:10100
代码:
<?php$sum = 0;for($i = 2; $i <= 200; $i += 2){$sum += $i;}echo "200以内偶数的和是:$sum";
?>
赋值运算符:
$i += 2
即:$i = $i + 2
$sum += $i
即:$sum = $sum + $i
本题考察的是循环哦
五:输出一个由*组成的三角形。
输出格式如下所示:
*
**
***
****
*****
代码:
<?phpfor($i = 1; $i <= 5; $i++){for($j = 1; $j <= $i; $j++){echo "*";}echo "<br>";}
?>
依旧是考察循环,其实双重循环也很好理解的,$i
代表列数,$j
代表行数,$j <= $i
决定了每一行的列数恰好等于其在第几行
六:输出九九乘法表。
输出格式如下所示:
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
代码:
<?phpfor($i = 1; $i < 10; $i++){for($j = 1; $j <= $i; $j++){$mul = $i * $j;echo "$i * $j = $mul ";}echo "<br>";}
?>
循环其实不复杂
- 它属于html实体,其实就是一个空格
我在上面代码中使用了四个空格,是为了把每一行的输出隔开四个空格,看的舒服些
提高:用表格输出九九乘法表。
这里要用到html、css的知识,有兴趣的可以看一看:
<style>
table{border-collapse: collapse;
}table caption{font-size: 2em;font-weight: bold;margin: 1em 0;
}td{border: 1px solid #999;text-align: center;padding: 20px;
}table tbody{color: #000;background-color: #fff;
}table tbody tr:nth-child(odd){background-color: #008c8c;
}table tbody tr:hover{background-color: #f40;
}
</style><?phpecho '<table>';echo '<caption>九九乘法表</caption>';echo '<body>';for($i = 1; $i < 10; $i++){echo '<tr>';for($j = 1; $j <= $i; $j++){$mul = $i * $j;echo '<td>';echo "$i * $j = $mul";echo '</td>';}echo '</tr>';}echo '</body>';echo '<table>';
?>
实验二 数组
了解php语言的数组,并操作它
一:定义一个数组$arr,键值与内容见下图
为该数组添加一个元素,使其键值与内容下图
用echo输出pink,blown
用print_r和var_dump函数输出这个数组
代码:
<?php$arr = array('a' => 'red', 'b' => 'blue', 'c' => 'pink', 'd' => 'yellow');$arr['f'] = 'blown';$arr[] = 'black';echo $arr['c'];echo '<br>';echo $arr['f'];echo '<br>';print_r($arr);echo '<br>';var_dump($arr);
?>
输出:
pink
blown
Array ( [a] => red [b] => blue [c] => pink [d] => yellow [f] => blown [0] => black )
array(6) { ["a"]=> string(3) "red" ["b"]=> string(4) "blue" ["c"]=> string(4) "pink" ["d"]=> string(6) "yellow" ["f"]=> string(5) "blown" [0]=> string(5) "black" }
数组:
- 数组中的每个实体都包含两项:键和值
- 键:可以是数字、字符(包括:数字和字符串的组合)
- 值:可以是任意数据类型
创建一维数组:
一:
$arr[key] = value;
$arr[] = value;
二:
$arr = array('one' => 'php', 'two' => 'python');
$arr = array('c', 'java');
输出数组:
print_r()
按一定键值和元素的顺序显示出该数组中所有元素var_dump()
可以输出(或对象)、元素数量以及每个字符串的长度
二:定义二维数组,存储下表中的数据,并输出
品牌 | 库存 | 销量 |
---|---|---|
Volvo | 33 | 20 |
BMW | 17 | 15 |
Saab | 5 | 2 |
Land Rover | 15 | 11 |
代码:
<?php$arr[0] = array('品牌', '库存', '销量');$arr[1] = array('volvo', 33, 20);$arr[2] = array('BMW', 17, 15);$arr[3] = array('saab', 5, 2);$arr[4] = array('Land rover', 15, 11);foreach($arr as $key => $value){foreach($value as $keys => $values){echo ' ';echo $values;echo ' ';}echo '<br>';}
?>
输出:
品牌 库存 销量 volvo 33 20 BMW 17 15 saab 5 2 Land rover 15 11
foreach(遍历数组的简单办法):
foreach(array_expression as $value)statementforeach(array_expression as $key => $value)statement
foreach语句将遍历数组array_expression,每次循环时,将当前数组中的值赋给$value
(或者是$key
、$value
),同时,数组指针向后移动,直到遍历结束。
实验三 PHP与Web交互
一:设计一个系统登录页面login.php,登录后跳转到另一个页面loginok.php显示登录信息。
先看这个知识点:
$_POST[]
、$_GET[]
可以获取表单提交的数据
login.php
<form action="loginok.php" method="post"><div>用户名:<input type="text" name="user"></div><div>密码 :<input type="password" name="password"></div><div><input type="submit" name="submit" value="登录"></div>
</form>
loginok.php
<?phpif(isset($_POST['submit']) && $_POST['submit'] == '登录'){echo '用户名:'.$_POST['user'].'<br>';echo '密码 :'.$_POST['password'];}
?>
输入:
点击登录后:
二:设计一个php网页test1.php,用来进行投票。在另一个网页testok.php显示投票结果。
test1.php
<form action="testok.php" method="get"><div style="font-weight:bold;font-size:16px">当今最流行的web开发技术</div><input type="checkbox" name="zgh[]" value="PHP">PHP<br><input type="checkbox" name="zgh[]" value="ASP">ASP<br><input type="checkbox" name="zgh[]" value="JSP">JSP<br><input type="checkbox" name="zgh[]" value="JSP.NET">JSP.NET<br><input type="submit" name="submit" value="请投票">
</form>
testok.php
<?phpif(isset($_GET['submit']) && $_GET['submit'] == '请投票'){foreach($_GET['zgh'] as $value){echo $value.'<br>';}}
?>
选择
点击请投票后
三:设计一个注册页面reg.php,当点击提交时,跳转到另一个页面regok.php,显示用户的注册信息。
先看这个知识点:
int preg_match ( string $pattern , string $subject)
- 用于执行一个正则表达式匹配
$pattern
: 要搜索的模式,字符串形式。$subject
: 输入字符串。
reg.php
<div style="font-weight: bold;margin:20px 0">用户注册</div><form action="regok.php" method="GET"><div>用户名:<input type="text" name="user">(必填,3-15字符长度,支持汉字、字母、数字及_)</div><div>密码:<input type="password" name="password">(必填,不得少于6位)</div><div>重复密码:<input type="password" name="retry"></div><div>电子邮箱:<input type="text" name="mail">(必填)</div><input type="submit" value="提交注册" name="submit">
</form>
regok.php
<?phpif(isset($_GET['submit']) && $_GET['submit'] == '提交注册'){if(!preg_match("/^[\u4E00-\u9FA5A-Za-z0-9_]{3,15}$/", $_GET['user'])){echo '用户名格式错误!';}if(!preg_match("/^\w{6,}$/", $_GET['password'])){echo '密码格式错误!';}if($_GET['password'] != $_GET['retry']){echo '两次密码不匹配';}if(!preg_match("/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/",$_GET['mail'])){echo '邮箱格式不对!';}else{echo '注册成功';}}
?>
输入:
点击提交注册
实验四 文件上传与字符串方法
一:实现jpg格式的文件上传,检验文件的格式,如果是jpg格式的图片,则上传到image文件夹,不是,则弹出提示。
先看这几个知识点:
$_FILES['filename']
是一个一维数组,包含所有上传文件的相关信息$_FILES['filename']['name']
上传文件的文件名$_FILES['filename']['tmp_name']
文件在临时目录中使用的文件名,因为文件在上传时,首先要将其以临时文件的身份保存在临时目录中$_FILES['filename']['type']
上传文件类型$_FILES['filename']['size']
上传文件大小,单位为字节$_FILES['filename']['error']
如果返回0,则说明上传文件成功
代码:
<form action="" enctype="multipart/form-data" method="POST">请选择你要上传的文件:<input type="file" name="isjpg"><input type="submit" name="submit" value="上传">
</form><?php
if (!empty($_FILES['isjpg']['name'])) {$type = substr($_FILES['isjpg']['name'], -3, 3);if ('jpg' == $type) {$path = "image/" . $_FILES['isjpg']['name'];if (move_uploaded_file($_FILES['isjpg']['tmp_name'], $path)) {echo '文件上传成功';}else{echo '文件无法上传到指定位置!'; }}else{echo '文件上传类型错误!';}
}
?>
注意啊:判断文件类型时,不要使用$_FILES['filename']['type']
,因为这坑爹玩意和系统有关系,有的系统中jpg文件的值是image/jpeg
,有的系统中的值是image/pjpeg
…
最好使用截取字符串的方法,截取文件名后三位,来判断文件类型
substr(string str, int start[, int length])
- str
指定字符串对象 - start
用来指定开始截取字符串的位置 - length
可选项,指定截取字符串的个数(如果为负数,则表示截取到倒数第length个字符)
move_uploaded_file(string filename, string destination)
用于将文件上传到服务器的指定位置,若成功,则返回true。
- filename,上传文件的临时文件名
$_FILES['filename']['tmp_name']
- destination,上传文件保存的新路径和名称
二:在下面这篇文章里,将用户输入的文字红色高亮显示。
大数据与人工智能之间存在着一种互惠关系:人工智能在很大程度上依赖于前者的成功,同时也帮助组织以以前繁琐或不可能的方式释放数据存储中的潜力。Gruber说,“如今,我们需要尽可能多的数据,这不仅是为了更好地洞察我们试图解决的业务问题,而且因为我们通过机器学习模型输入的数据越多,它们得到的结果就越好。这是一个良性循环。”
先看这个知识点:
$_POST[]
、$_GET[]
可以获取表单提交的数据
代码:
<form action="" method="get"><input type="text" name="key"><input type="submit" name="submit" value="提交">
</form><?php
if (isset($_GET['key']) && ($_GET['submit'] == '提交')) {$content = "大数据与人工智能之间存在着一种互惠关系:人工智能在很大程度上依赖于前者的成功,同时也帮助组织以以前繁琐或不可能的方式释放数据存储中的潜力。Gruber说,“如今,我们需要尽可能多的数据,这不仅是为了更好地洞察我们试图解决的业务问题,而且因为我们通过机器学习模型输入的数据越多,它们得到的结果就越好。这是一个良性循环。”";$str = $_GET['key'];echo str_ireplace($str, "<font color='#f40'>".$str.'</font>', $content);
}
?>
输入:
点击提交之后:
str_ireplace(mixed search, mixed replace, mixed subject[, int &count])
- 将所有在参数subject中出现的参数search,以参数replace替换
- 参数&count表示替换字符串执行的次数
这篇关于PHP实验报告题目汇总(层次递进,全面丰富)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!