Bir değişkeni içinde işlev adı

4 Cevap php

I have a simple question (i guess). I'm getting the name of the function inside a variable from database. After that, i want to run the specific function. How can i echo the function's name inside the php file? The code is something like this:

$variable= get_specific_option;
//execute function
$variable_somesuffix();

"Somesuffix" basit bir metin olacaktır. Ben aklındaki her şeyi denedim ama hiçbir şey çalıştı.

4 Cevap

İstediğiniz variable variables.

Burada nasıl çalıştığını göstermek için bazı örnek kod, ve hatalar üretti:

function get_specific_option() {
    return 'fakeFunctionName';
}

$variable = get_specific_option();

$variable();
// Fatal error: Call to undefined function fakeFunctionName()

$test = $variable . '_somesuffix';

$test();
// Fatal error: Call to undefined function fakeFunctionName_somesuffix()

Sen call_user_func istiyorum

 function hello($name="world")
 {
     echo "hello $name";
 }

$func = "hello";

//execute function
call_user_func($func);
> hello world

call_user_func($func, "byron");
> hello byron

Ayrıca sprintf ($ string) yapabilirsiniz.