Php 动态调用/初始化函数或变量

Php 动态调用/初始化函数或变量,php,Php,出于好奇,我有一门课 class someCLass { var $_var1 = ''; var $_var2 = ''; public function _set(){} public function _get(){} public function _put(){} } 是否可以动态调用此函数。例如: public function insomefunc(){ $key_sample = 'set'; $result = $this-&

出于好奇,我有一门课

class someCLass {

  var $_var1 = '';
  var $_var2 = '';

  public function _set(){}

  public function _get(){}

  public function _put(){}

}
是否可以动态调用此函数。例如:

public function insomefunc(){

    $key_sample = 'set';

    $result = $this->_$keysample(); //call dynamically a function which should be _set()

}
变量也是这样

public function insomefunc(){

    $var_sample = 'var1';

    $this->_$varsample = 'jackpot' //assign

}
想知道启示的答案。谢谢

您必须在字符串中添加“\u1”:

public function insomefunc(){

    $key_sample = 'set';

    $result = $this->{'_'.$keysample}(); //call dynamically a function which should be _set()

}
请参见你可以这样做

<?php
class someCLass
{

    var $_var1 = '';
    var $_var2 = '';

    public function set()
    {
        echo "I am set";
    }

    public function get()
    {
    }

    public function put()
    {
    }

    public function runset()
    {
        $key_sample = 'set';
        $this->$key_sample();
    }

}

$a = new someCLass();
$a->runset();

你想在这个班外还是在班内运行?班内@ShankarDamodaran-inside
I am set