Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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
与PHP7和PHP5的变量函数兼容性_Php_Php 7 - Fatal编程技术网

与PHP7和PHP5的变量函数兼容性

与PHP7和PHP5的变量函数兼容性,php,php-7,Php,Php 7,我的情况是,这在PHP5中起作用,但在PHP7中起作用: /* load batch processing data into variable */ $args = get_option('leads_batch_processing'); /* process batches */ self::$args['method']($args); 这在PHP7中起作用,但在PHP5中起作用: /* load batch processing data into variable */ $args

我的情况是,这在PHP5中起作用,但在PHP7中起作用:

/* load batch processing data into variable */
$args = get_option('leads_batch_processing');
/* process batches */
self::$args['method']($args);
这在PHP7中起作用,但在PHP5中起作用:

/* load batch processing data into variable */
$args = get_option('leads_batch_processing');
/* process batches */
 self::{$args['method']}($args);
如何在两种PHP环境中成功使用变量函数?我尝试使用基于PHP版本的if条件,但PHP7版本的语法会影响PHP5,因此我无法使用该方法


我该怎么办?

将其分配给一个正则变量,这不会导致语法错误:

$method = $args['method'];
$this->$method($args);
或者,与评论中的建议类似,使用
call\u user\u func()


你能提出它作为回答吗?在上述情况下,$args不是私有或静态变量。但是在$args['method']中有一个函数名存在于调用类中(self::),第二个代码应该可以在PHP5和PHP7上使用。请确保您没有在一些过时的PHP版本(如5.3)上进行测试。作为WordPress插件开发人员,我负担不起这种环境,我将看到PHP版本从5.3到7。第二个版本将在PHP的较低版本上致命。它不喜欢括号。
call_user_func(
    array($this, $args['method']),
    $args
);