当PHP中的变量发生变化时,是否可以调用函数?

时间:2011-09-12 21:17:09

标签: php

function foo()
{ echo 'function called'; }

是否可以做这样的事情:

onchange($a, foo);
$a = "foo"; // echoes 'function called'
$a = "bar"; // echoes 'function called'

而不是:

$a = "foo";
foo();      // echoes 'function called'
$a = "bar";
foo();      // echoes 'function called'

2 个答案:

答案 0 :(得分:1)

排序。您可以使用所谓的setter,这是一个用于设置变量的函数。

function setFoo ($value)
{
    echo 'in setFoo';
    return $value;
}

$a = setFoo('foo'); // echoes 'in setFoo'
echo $a; // echoes 'foo'
$a = setFoo('bar'); // echoes 'in setFoo'
echo $a; // echoes 'bar'

答案 1 :(得分:0)

简而言之:不。你不应该使用全局变量,这意味着什么,foo()不应该对$a有任何了解,除非你把它作为参数提供