【发布时间】:2015-02-20 09:07:00
【问题描述】:
我有一个如下所示的抽象类:
abstract class Transformer {
/**
* Transform a collection of items
*
* @param array $items
* @param bool $format
* @return array
*/
public function transformCollection(array $items, $format)
{
return array_map([$this, 'transform'], $items, $format);
}
/**
* Transform a item
*
* @param array $item
* @param bool $format
* @return mixed
*/
public abstract function transform(array $item, $format);
}
然后我有以下实现它的类:
class ServiceLogTransformer extends Transformer {
public function transform(array $service_log, $format = false)
{
return [
'id' => $service_log['id'],
'date' => $service_log['log_date'],
'time' => $service_log['log_time'],
'type' => ($format ? status_label($service_log['log_type']) : $service_log['log_type']),
'entry' => $service_log['log_entry']
];
}
}
当这段代码运行时,我得到了错误:
array_map(): 参数 #3 应该是一个数组
当您在类中调用array_map 函数时,如何传递2 个或更多参数?我检查了 PHP 文档,看起来这是允许的,但它不适用于我的 Larave 4.2 项目。
有什么想法吗?
【问题讨论】: