我正在学习函数式编程,我想知道是否还有更好的方法?

时间:2019-09-04 20:47:29

标签: php arrays functional-programming

是否有更“实用”的方法来执行此操作?是的,我知道它是PHP,并且我正试图将一个方形钉插入圆孔中。即使它不是功能性语言,我也希望更加注重功能性。

$c = [];
foreach ($classes as $cl) {
    $c[$cl->Id] = $cl->Name;
}

3 个答案:

答案 0 :(得分:5)

您正在做的是array_column。

Array_column可以隔离数组中的列,并使用第三个参数设置键名称。

$c= array_column($classes, 'Name', 'Id');

答案 1 :(得分:1)

我会使用此功能:

$c = array_column($classes, 'Name', 'Id');

答案 2 :(得分:0)

“功能性”方式将如下所示:

$result = array_reduce(
    $classes,
    function ($t, $cl) {
        $t[$cl->Id] = $cl->Name;

        return $t;
    },
    []
);