PHP-将变量设置为等于函数,而不运行它

时间:2018-08-09 10:22:40

标签: php functional-programming

您知道是否可以在不执行函数的情况下在php中执行以下操作吗?

我希望$ test等于功能,而不是结果。

$test = helloWorld();

function helloWorld() {
    echo "HelloWorld";
}

4 个答案:

答案 0 :(得分:2)

我认为实现此目标的最接近方法是使用可变函数

function helloWorld() {
    echo "HelloWorld";
}

$test = 'helloWorld';
$test();

使用匿名功能也可以做到这一点。请注意函数声明后的;

$test = function () {
    echo "HelloWorld";
};

$test();

请参阅文档中的variable functionsanonymous functions

答案 1 :(得分:0)

回答我自己的问题:

$test = function() {
    echo "HelloWorld";
};

// To call it:
$test();

我阅读了所有这些功能性内容,但有时我对其中的不足感到绝望!

答案 2 :(得分:-1)

您可以执行以下操作

<?php

$test = "helloWorld";

function helloWorld () : void
{
    echo "Hello World!";
}

// Execute the code on demand using:
$this->{$test}();

答案 3 :(得分:-1)

例如,我有一个名为functions.php的页面 现在在函数中,即时通讯将创建以下内容

//functions.php page
class functions
{
    public function helloWorld() {
        echo "Hello World";
    }
}

不,我内部有一个类和一个函数,我想在索引页面上调用它 所以我现在必须执行以下操作

//index.php page
$test = new functions(); //calls the class functions 

//here is the part you would like
//$test->helloWorld(); this calls the helloWorld function but does nothing.

//now you can store this into a variable
$helloWorld = $test->helloWorld();