zoukankan      html  css  js  c++  java
  • PHP中可变变量到底有什么用?

    转自:http://blog.csdn.net/engine_1124/article/details/8660291

    什么是可变变量?

    PHP提供了一种其他类型的变量——可变变量。可变变量允许我们动态地改变一个变量的名称。
    可以看到,在这方面,PHP具有非常大的自由度——所有的语言都允许改变变量的值,但是并没有太多的语言允许改变变量的类型,至于支持改变变量的名称的语言就更少了。

    这个特性的工作原理是用一个变量的值作为另一个变量的名称。例如,我们可以设置$tireqty的值:
    $varname = 'tireqty';
    于是,我们就可以用
    varname$tireqty$tireqty
    varname = 5;
    这个代码等价于:
    $tireqty = 5;

    在实际使用中,我们可以不用单独列出并使用每一个表单变量,我们可以使用一个循环语句和一个变量来自动处理它们。结合“for循环”,举例如下:
    orderform.html的主要内容

    <form action="test.php" method="post">
    <table border="0">
    <tr bgcolor="#cccccc">
    <td width="150">Item</td>
    <td width="15">Quantity</td>
    </tr>
    <tr>
    <td>Tires</td>
    <td align="center"><input type="text" name="tireqty" size="3" maxlength="3" /></td>
    </tr>
    <tr>
    <td>Oil</td>
    <td align="center"><input type="text" name="oilqty" size="3" maxlength="3" /></td>
    </tr>
    <tr>
    <td>Spark Plugs</td>
    <td align="center"><input type="text" name="sparkqty" size="3" maxlength="3" /></td>
    </tr>
    <tr>
    <td colspan="2" align="center"><input type="submit" value="Submit Order" /></td>
    </tr>
    </table>
    </form>
    表单处理文件test.php
    传统的中规中矩的写法

    <?php
    $oilqty = $_POST['oilqty'];
    $tireqty = $_POST['tireqty'];
    $sparkqty = $_POST['sparkqty'];
    echo "<p>Your order is as follows:</p>";
    echo "<br />$oilqty=".$oilqty;
    echo "<br />$tireqty=".$tireqty;
    echo "<br />$sparkqty=".$sparkqty;
    ?>
    如果orderform.html里有很多表单变量,可以想像上面的赋值语句将会很长,而我们采用可变变量就可以优化为如下非常简洁的代码:

    <?php
    foreach ($_POST as $key => $value) {
    $$key = $value;
    }
    echo "<p>Your order is as follows:</p>";
    echo "<br />$oilqty=".$oilqty;
    echo "<br />$tireqty=".$tireqty;
    echo "<br />$sparkqty=".$sparkqty;
    ?>
     
     
  • 相关阅读:
    PWNABLE Silver Bullet
    PWNABLE hacknote
    PWNABLE calc
    vue如何监听浏览器的返回,并进行操作
    字符串的拼接和截取例子
    关于vue在url上向后台动态传递参数
    鼠标移动到超链接上时变为手型
    vue.js 单选框根据v-bind:disabled="条件" 来动态修改多个单选框是否只读
    关于node重装后启动项目报错
    关于在下名字问题的研究报告
  • 原文地址:https://www.cnblogs.com/zhengwk/p/5821425.html
Copyright © 2011-2022 走看看