PHP - 将对象属性映射到数组的高阶函数

时间:2015-09-15 22:31:59

标签: php arrays

我使用array语句将对象的属性添加到foreach但我认为可以通过使用更加可读的代码高阶函数。我想也许array_map可能有用,但我还没找到。

$deviceCollection = [];
foreach ($android as $token) {
    $deviceCollection[] = $this->pushNotification->Device($token->token, ['badge' => 1]);
}

这可以用array_map完成,还是我看错了函数?

1 个答案:

答案 0 :(得分:3)

可以做到,例如通过

$afn = Closure::bind(
    function($token) {
        $this->pushNotification->Device($token->token, ['badge' => 1]);
    },
    $this
);

$deviceCollection = array_map($afn, $android);

如果只在一个地方使用$afn,我会说可读性在旁观者的眼中......