Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:objectmethod+;来自var的proprety调用_Php_Object - Fatal编程技术网

PHP:objectmethod+;来自var的proprety调用

PHP:objectmethod+;来自var的proprety调用,php,object,Php,Object,我想用存储在变量中的内容调用对象方法+属性。。。 例如: // setup the object $xpath = new DOMXpath(); // setup the 'method'+'property' to call $var1 = "query('something')->item(O)->nodeValue"; $return = $xpath->$var1(); 显然,我犯了一个错误。。。假设直接呼叫正在工作,即: $return2 = $xpath-&

我想用存储在变量中的内容调用对象方法+属性。。。 例如:

// setup the object
$xpath = new DOMXpath();

// setup the 'method'+'property' to call 
$var1 = "query('something')->item(O)->nodeValue";
$return = $xpath->$var1();
显然,我犯了一个错误。。。假设直接呼叫正在工作,即:

$return2 = $xpath->query('something')->item(0)->value;
echo "Return2 : ".$return2; //print okeedokee ...

如何将参数传递给query()?如何添加额外的参数呢?

我想你得打电话

$return=$xpath->$var1;
注意:这是您需要的功能

例如:

alpha.php 可以使用eval()执行此操作:


然而,将eval()与用户输入一起使用几乎总是一个坏主意。所以要小心。

你到底想做什么??不管是什么,$xpath->$var1();没道理,我一直在看。。。但我无法使它与对象一起工作。。。我在网上没有找到任何例子。也许你可以提供一个?在这种情况下,“评估”方法很好用。。。谢谢大家:)
class Alpha
{
   public function getAlpha($arr_input)
   {
       echo "<pre>";
       print_r($arr_input);
   }
}
include_once 'alpha.php';
$post = array('one','two','three');
$obj_alpha =  new Alpha();

call_user_func( array( $obj_alpha , 'getAlpha' ), $post ) ;
//here I call `getAlpha` function from object of class alpha (`$obj_alpha`) 
  with argument `$post`

//will print $post array
$return = eval('return $xpath->' . $var1 .';');