写这么久的PHP,却一直没有用过可变变量,真是遗憾。今天晚上重温《PHP和MySQL WEB开发》基础部分,发现可变变量居然如此好用,真是痛恨自己忽略了这点。经过温习和再次实验,总结如下: Your order is as follows: “; Your order is as follows: “;
什么是可变变量?
PHP提供了一种其他类型的变量——可变变量。可变变量允许我们动态地改变一个变量的名称。
可以看到,在这方面,PHP具有非常大的自由度——所有的语言都允许改变变量的值,但是并没有太多的语言允许改变变量的类型,至于支持改变变量的名称的语言就更少了。
这个特性的工作原理是用一个变量的值作为另一个变量的名称。例如,我们可以设置$tireqty的值:
于是,我们就可以用$$varname取代$tireqty。例如,我们可以设置$tireqty的值:
这个代码等价于:
在实际使用中,我们可以不用单独列出并使用每一个表单变量,我们可以使用一个循环语句和一个变量来自动处理它们。结合“for循环”,举例如下:
orderform.html的主要内容
表单处理文件test.php
传统的中规中矩的写法
$oilqty = $_POST['oilqty'];
$tireqty = $_POST['tireqty'];
$sparkqty = $_POST['sparkqty'];
echo “
echo “
\$oilqty=”.$oilqty;
echo “
\$tireqty=”.$tireqty;
echo “
\$sparkqty=”.$sparkqty;
?>
如果orderform.html里有很多表单变量,可以想像上面的赋值语句将会很长,而我们采用可变变量就可以优化为如下非常简洁的代码:
foreach ($_POST as $key => $value) {
$$key = $value;
}
echo “
echo “
\$oilqty=”.$oilqty;
echo “
\$tireqty=”.$tireqty;
echo “
\$sparkqty=”.$sparkqty;
?>
十二 31 2005
PHP中使用可变变量实现自动处理表单
Permanent link to this article: http://www.wardking.com/2005/12/php%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%8F%AF%E5%8F%98%E5%8F%98%E9%87%8F%E5%AE%9E%E7%8E%B0%E8%87%AA%E5%8A%A8%E5%A4%84%E7%90%86%E8%A1%A8%E5%8D%95/

2 comments
Lyychee
2006/01/01 在 2:05 上午 (UTC 8) Link to this comment
哈哈,,,这个我早用得爽死了。。。。PHP就是灵活啊!!
PLACE
2007/06/03 在 8:37 上午 (UTC 8) Link to this comment
渠道网(低价注册公司)专业从事注册香港公司、海外公司注册、深圳公司注册、注册商标、注册国际书刊号及提供注册公司后企业融资等配套服务,渠道网并提供:无抵押无担保企业融资、项目融资、项目投资、企业形象资金、公司注册验资及全国打款、国际框架组建、品牌概念合作、品牌加盟、投资移民、技术移民、海外形象代言人、海外股东信托、代理记帐报税、企业营销咨询、企业合理避税、品牌规划、香港上市、新加坡上市、美国上市公关、GOOGLE左侧排名、网站建设、网站推广、收购大中型国有企业法人股等系列配套服务。并提供快速消费渠道信息,实现渠道信息共享!如何注册公司请立即咨询:罗鸿汇先生13510141316 http://www.place.net.cn渠道网,为你省钱!并诚全国各地代理商。