PHP: вызов пользовательской функции сортировки из объекта? В PHP есть такая функция:bool usort ( array &array, callback cmp_function ) Ей вторым параметром передаётся имя функции, которая будет принимать очередную пару значений и сравнивать их. Есть обычный класс PHP:namespace MyProj; class Test { public function sortDir($a,$b) { if(is_dir($a['path']) && !is_dir($b['path'])) return -1; if(!is_dir($a['path']) && is_dir($b['path'])) return 1; if($a['name']$b['name']) return 1; else return 0; }
usort($dir, 'sortDir'); } } $obj = new Test(); $obj->getList(); Вот как правильно вызвать usort($dir, 'sortDir') в одной из последних строк? Какие варианты не пробовал, всегда выдаёт:Warning: usort() expects parameter 2 to be a valid callback, function 'sortDir' not found or invalid function name
Для вызова пользовательской функции сортировки из объекта в PHP, вам нужно передать callback в виде массива, где первым элементом будет имя объекта, а вторым - имя метода.
В вашем случае, вместо строки 'sortDir', вы можете использовать массив с объектом и именем метода:
usort($dir, array($this, 'sortDir'));
Таким образом, вы передаете метод 'sortDir' объекта $this в качестве callback функции для сортировки массива $dir.
Для вызова пользовательской функции сортировки из объекта в PHP, вам нужно передать callback в виде массива, где первым элементом будет имя объекта, а вторым - имя метода.
В вашем случае, вместо строки 'sortDir', вы можете использовать массив с объектом и именем метода:
usort($dir, array($this, 'sortDir'));Таким образом, вы передаете метод 'sortDir' объекта $this в качестве callback функции для сортировки массива $dir.