精华内容
下载资源
问答
  • 洋葱图与层次递进 四个层次.pptx,pptfans_387043bc16385b4.pptx
  • 圆柱形层次递进PPT图形下载。层级关系图形图表用于强调几个对象之间的层次性差异。
  • 集成电路专业的分层次递进式实验教学探索
  • 我将本学期的多次php实验整理成了博客,将知识点一步步解析清楚。

    我将本学期的多次php实验整理成了博客,将知识点一步步解析清楚。


    实验一


    了解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 = 100
        echo '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

    本题考察的是循环哦

    五:输出一个由*组成的三角形。

    输出格式如下所示:

    *
    **
    ***
    ****
    *****
    

    代码:

    <?php
        for($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
    

    代码:

    <?php
        for($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>
    
    <?php
        echo '<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 '&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)
    	statement
    
    foreach(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

    <?php
        if(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

    <?php
        if(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

    <?php
        if(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表示替换字符串执行的次数
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 284
精华内容 113
关键字:

层次递进