Heim >Backend-Entwicklung >PHP-Tutorial >Wozu dienen veränderbare Variablen in PHP?

Wozu dienen veränderbare Variablen in PHP?

怪我咯
怪我咯Original
2017-06-20 09:41:341444Durchsuche

什么是可变变量
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[&#39;oilqty&#39;];
$tireqty = $_POST[&#39;tireqty&#39;];
$sparkqty = $_POST[&#39;sparkqty&#39;];
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;
?>

Das obige ist der detaillierte Inhalt vonWozu dienen veränderbare Variablen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn