【问题标题】:array_map with two different classes?array_map 有两个不同的类?
【发布时间】:2018-03-04 13:08:23
【问题描述】:

我正在尝试用 PHP 替代这个 Javascript 函数。

async.map items, (item, done) =>
    async.map [
        @engine.likes
        @engine.dislikes
    ], (rater, done) =>
        rater.usersByItem item, done
    , done
, (err, others) =>

我已经设法用一个版本的课程做到了。

    $likes = new Rater('likes');
    $dislikes = new Rater('dislikes');

    $others = array_map( function($value) use ($likes){
        return $likes->users_by_game($value);
        }, $items );

有没有办法一次性完成,还是 PHP 无法做到?

【问题讨论】:

  • 什么是async?
  • 你可以合并这两个列表......
  • 这是异步的caolan.github.io/async/docs.html#map,我确实想知道一旦它们完成就合并两者。只是想知道是否有可能,因为这样做一次会更简洁。

标签: php arrays sorting array-map


【解决方案1】:

你就不能做类似的事情

$raters = [new Rater('likes'), new Rater('dislikes')];

$others = array_map(function($item) use ($raters) {

    return array_map(function ($rater) use ($item) {

        return $rater->users_by_game($item);

    },  $raters);

}, $items);

【讨论】:

  • 是的!这正是我想要的:) 谢谢!!
  • @Kyon147 不错。注意:async.map 不保证顺序,而 PHP 的 map 可以。如果您关心订单,请使用async.mapSeries。
  • 谢谢,@Mikey 非常感谢。一直在绞尽脑汁想弄清楚其中的逻辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-22
  • 2011-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
相关资源
最近更新 更多