Php 如何将函数从create_函数升级到匿名函数

Php 如何将函数从create_函数升级到匿名函数,php,anonymous-function,Php,Anonymous Function,我需要修改函数,使其不使用create_函数。我想使用匿名功能,但我不知道如何使用它 function arrayUniqueMerge() { $variables = '$_' . implode(',$_', array_keys(func_get_args())); $func = create_function('$tab', ' list(' . $variables . ') = $tab; return array_unique(array_merge(' . $

我需要修改函数,使其不使用create_函数。我想使用匿名功能,但我不知道如何使用它

function arrayUniqueMerge()
{
    $variables = '$_' . implode(',$_', array_keys(func_get_args()));
    $func = create_function('$tab', ' list(' . $variables . ') = $tab; return array_unique(array_merge(' . $variables . '));');
    return $func(func_get_args());
}

您可以创建如下匿名函数:

<?php

$myfunc = function ($x) {
  return $x . ' world';
};

echo $myfunc('Hello'); //Echoes "Hello world"

我试图理解您函数的用途,但我的结论是它取决于您构建它的PHP版本

然而,我逐渐意识到,在PHP7中,您的函数很可能可以重构为以下内容:

function arrayUniqueMerge2(...$args) {
    return array_unique(array_merge(...$args));
}
使用样本数据对其进行测试:

print_r(arrayUniqueMerge2(['a', 'b'], ['b', 'c'], ['c', 'd']));
//Array ( [0] => a [1] => b [3] => c [5] => d )
可能重复的