PHP实验报告题目汇总(层次递进,全面丰富)

2023-10-11 17:40

本文主要是介绍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&nbsp;&nbsp;&nbsp;&nbsp;";}echo "<br>";}
?>

循环其实不复杂

&nbsp;

  • 它属于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()
    可以输出(或对象)、元素数量以及每个字符串的长度

二:定义二维数组,存储下表中的数据,并输出

品牌库存销量
Volvo3320
BMW1715
Saab52
Land Rover1511

代码:

<?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 '&nbsp;&nbsp;';echo $values;echo '&nbsp;&nbsp;';}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实验报告题目汇总(层次递进,全面丰富)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/189730

相关文章

题目1254:N皇后问题

题目1254:N皇后问题 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: N皇后问题,即在N*N的方格棋盘内放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在同一斜线上。因为皇后可以直走,横走和斜走如下图)。 你的任务是,对于给定的N,求出有多少种合法的放置方法。输出N皇后问题所有不同的摆放情况个数。 输入

题目1380:lucky number

题目1380:lucky number 时间限制:3 秒 内存限制:3 兆 特殊判题:否 提交:2839 解决:300 题目描述: 每个人有自己的lucky number,小A也一样。不过他的lucky number定义不一样。他认为一个序列中某些数出现的次数为n的话,都是他的lucky number。但是,现在这个序列很大,他无法快速找到所有lucky number。既然

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

如何掌握面向对象编程的四大特性、Lambda 表达式及 I/O 流:全面指南

这里写目录标题 OOP语言的四大特性lambda输入/输出流(I/O流) OOP语言的四大特性 面向对象编程(OOP)是一种编程范式,它通过使用“对象”来组织代码。OOP 的四大特性是封装、继承、多态和抽象。这些特性帮助程序员更好地管理复杂的代码,使程序更易于理解和维护。 类-》实体的抽象类型 实体(属性,行为) -》 ADT(abstract data type) 属性-》成

【408数据结构】散列 (哈希)知识点集合复习考点题目

苏泽  “弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家    知识点 1. 散列查找 散列查找是一种高效的查找方法,它通过散列函数将关键字映射到数组的一个位置,从而实现快速查找。这种方法的时间复杂度平均为(

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们

php中json_decode()和json_encode()

1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 参数 json

如何将文件夹里的PHP代码放到一个文件里

find ./dir -name "*.php" -exec 'cat' {} \; > dir.out

PHP抓取网站图片脚本

方法一: <?phpheader("Content-type:image/jpeg"); class download_image{function read_url($str) { $file=fopen($str,"r");$result = ''; while(!feof($file)) { $result.=fgets($file,9999); } fclose($file); re