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

什么是可变变量?

PHP提供了一种其他类型的变量——可变变量。可变变量允许我们动态地改变一个变量的名称。

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

这个特性的工作原理是用一个变量的值作为另一个变量的名称。例如:

$varname = 'tireqty';

于是,我们就可以用$$varname

= 5;

这个代码等价于:

$tireqty = 5;

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

orderform.html的主要内容

 
 
ItemQuantity
Tires
Oil
Spark Plugs

表单处理文件test.php

传统的中规中矩的写法<?php

$oilqty = $_POST['oilqty'];

$tireqty = $_POST['tireqty'];

$sparkqty = $_POST['sparkqty'];

echo "

Your order is as follows:

";

echo "
\$oilqty=".$oilqty;

echo "
\$tireqty=".$tireqty;

echo "
\$sparkqty=".$sparkqty;

?>

如果orderform.html里有很多表单变量,可以想像上面的赋值语句将会很长,而我们采用可变变量就可以优化为如下非常简洁的代码:<?php

foreach ($_POST as $key => $value) {

$$key = $value;

}

echo "

Your order is as follows:

";

echo "
\$oilqty=".$oilqty;

echo "
\$tireqty=".$tireqty;

echo "
\$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框架的思想。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值