Я пытаюсь применить функцию к каждому элементу в массиве в PHP. Однако эта функция содержится в другом файле, содержащем класс.
Я включил файл, и функция может быть вызвана достаточно легко. Это просто не будет работать с array_walk. То, как я пытаюсь сделать это …
$new_variable_array = array_walk($variable_array, $class->function);
Ах, извините, это array_walk, игнорируйте мои комментарии, вот ответ. Поскольку в array_walk вы указываете имя функции в виде строки, содержащей имя функции, при использовании метода класса вы должны сделать это внутри массива, где первый элемент массива — это используемый класс, а вторая часть — это строка, содержащая имя метода. Я надеюсь, что это работает для вас.
<?php
//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'));
Других решений пока нет …