在表单中如何调用带参数的php函数

在表单中如何调用带参数的php函数,第1张

你可以把function X 和Y写到一个独立的php文件中,例如Cphp

然后在A,和B里面头部引用一下Cphp就行了

require_once "Cphp"; //require_once 表示引用了某个文件

php函数前面加&符号的意思是函数的引用返回,php函数前面加&符号有什么作用呢

下面解释下: 

通过这种方式$a=test();得到的其实不是函数的引用返回,这跟普通的函数调用没有区别

至于原因: 这是PHP的规定

php规定通过$a=&test(); 方式得到的才是函数的引用返回

至于什么是引用返回呢(PHP手册上说:引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时。)

用上面的例子来解释就是

$a=test()方式调用函数,只是将函数的值赋给$a而已, 而$a做任何改变 都不会影响到函数中的$b

而通过$a=&test()方式调用函数呢, 他的作用是将return $b中的 $b变量的内存地址与$a变量的内存地址,

指向了同一个地方 即产生了相当于这样的效果($a=&b;) 所以改变$a的值,也同时改变了$b 的值 ,所以在执行了:

$a=&test(); $a=5; 以后,$b的值变为了5

php函数前面加&符号是什么意思?有的函数前面会加&,因为很少见到,所以不明白php函数前面加&符号是什么意思

那么,php函数前面加&符号有什么作用呢

php中可以把函数名通过字符串的方式传递给一个变量,然后通过此变量动态调用函数

下面是一个简单的动态函数调用范例

<html>

<head>

<title>Dynamic

Function

Calls</title>

</head>

<body>

<php

function

sayHello()

{

echo

"Hello<br

/>";

}

$function_holder

=

"sayHello";

$function_holder();

>

</body>

</html>

在实验的时候发现是可以的,代码如下

<php

function func(){ echo "I'm a external function <br />"; }

class Test {

function doExternalFunction($_externalFunc, $_param){

func();

$_externalFunc($_param);

}

}

function sayHello($_param){

echo "hello, $_param";

};

$name = "HanMeiMei";

$test = new Test();

$test->doExternalFunction("sayHello", $name);

>

在调用Test类实例的doExternalFunction()方法时,外部的func()方法是可以运行的,因为它是全局的。但是建议不要这样使用,

因为Test::doExternalFunction()对func()函数有依赖,当项目比较大时,而func()和Test类没有同时引入到一个文件中来,会引

起错误。比较理想的情况是,使用回调函数的形式来调用外部函数,就像执行在Test::doExternalFunction()执行sayHello()一样

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12179717.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存