• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php中可变变量和可变函数到底有什么用实例详解

php 搞代码 3年前 (2022-01-22) 33次浏览 已收录 0个评论

什么是可变变量?

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</t<mark style="color:transparent">本文来源gaodaimacom搞#^代%!码&网*</mark><pre>搞代gaodaima码

d><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里有很多表单变量,可以想像上面的赋值语句将会很长,而我们采用可变变量就可以优化为如下非常简洁的代码:

<?phpforeach ($_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中可变变量和可变函数到底有什么用实例详解的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php中可变变量和可变函数到底有什么用实例详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址