php中可变变量和可变函数到底有什么用实例详解
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php中可变变量和可变函数到底有什么用实例详解,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2607字,纯文字阅读大概需要4分钟。
内容图文
![php中可变变量和可变函数到底有什么用实例详解](/upload/InfoBanner/zyjiaocheng/144/27bea59ada214109975fe98ec6d8dd64.jpg)
PHP提供了一种其他类型的变量——可变变量。可变变量允许我们动态地改变一个变量的名称。
可以看到,在这方面,PHP具有非常大的自由度——所有的语言都允许改变变量的值,但是并没有太多的语言允许改变变量的类型,至于支持改变变量的名称的语言就更少了。
这个特性的工作原理是用一个变量的值作为另一个变量的名称。例如:
$varname = 'tireqty';
于是,我们就可以用
$$varname = 5;
这个代码等价于:
$tireqty = 5;
在实际使用中,我们可以不用单独列出并使用每一个表单变量,我们可以使用一个循环语句和一个变量来自动处理它们。结合“for循环”,举例如下:
orderform.html的主要内容
<pre name="code" class="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; ?>
什么是PHP可变函数?
PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。
可变函数不能用于例如 echo,print,unset(),isset(),empty(),include,require 以及类似的语言结构。需要使用自己的包装函数来将这些结构用作可变函数
php可变函数应用实例:
for example:
我们在前端通过GET传一个name为myfunc1的值(www.admin122.com/?name=myfunc1),这个值是你要调用的函数名
$f=$_GET['name']; $f(); function myfunc1(){ }
再来个例子,这次换成class和function一起
有class A和class B以及class C,他们都有自己的函数
还是前端传值,这次是两个一个class,一个function
同样的
$class=$_GET['class']; $func=$_GET['func']; $obj=new $class(); $obj->$func();
这是做单入口模式的思路。PHP框架的思想。
以上就是php中可变变量和可变函数到底有什么用实例详解的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的php中可变变量和可变函数到底有什么用实例详解全部内容,希望文章能够帮你解决php中可变变量和可变函数到底有什么用实例详解所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。