如何将 array_walk() 与属于类的函数一起使用?

问题描述 投票:0回答:1

我正在尝试对 PHP 数组中的每个项目应用一个函数。但是,该函数包含在另一个包含类的文件中。

我已经包含了该文件,并且可以轻松调用该函数。它不能与 array_walk 一起使用。我尝试这样做的方法是......

$new_variable_array = array_walk($variable_array, $class->function);
php function class array-walk
1个回答
2
投票

啊抱歉,这是 array_walk,请忽略我的评论,这是一个答案。由于在 array_walk 中,您将函数名称显示为包含函数名称的字符串,因此在使用类方法时,您需要在数组中执行此操作,其中数组的第一个元素是要使用的类,第二部分是包含方法名称的字符串。我希望这对你有用。


//This is my class
$myClass = new MyClass;

//This is my array
$variable_array = array();

//Array walk like so
array_walk($variable_array, array($myClass, 'functionName'));

这是一个工作示例,请检查您的示例是否符合相同的规则/参数。


//My class
class myClass{
    public function addSurname(&$name, $key, $surname){
        $name = "$name $surname";
    }
}

//Instantiate the class
$myClass = new myClass;

//Array
$array = array('John', 'Mary', 'Jimbob', 'Juan');

//Add the surname to each array element
array_walk($array, array($myClass, 'addSurname'), 'Jones');

//Show the array
foreach($array as $x){
    echo $x . '<br />';
}
© www.soinside.com 2019 - 2024. All rights reserved.