Php 我正在学习函数式编程&我想知道是否有更好的方法来实现这一点?

Php 我正在学习函数式编程&我想知道是否有更好的方法来实现这一点?,php,arrays,functional-programming,Php,Arrays,Functional Programming,有没有更实用的方法来实现这一点?是的,我知道这是PHP,我正试图把一个方形的钉子塞进一个圆孔。尽管它不是一种功能性语言,但我正在努力让自己更具功能性 $c = []; foreach ($classes as $cl) { $c[$cl->Id] = $cl->Name; } 我将使用此功能: $c = array_column($classes, 'Name', 'Id'); 您正在做的是数组\列 Array_column可以隔离数组中的列,并使用第三个参数设置键名 $

有没有更实用的方法来实现这一点?是的,我知道这是PHP,我正试图把一个方形的钉子塞进一个圆孔。尽管它不是一种功能性语言,但我正在努力让自己更具功能性

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

我将使用此功能:

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

您正在做的是数组\列

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

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

功能方式如下:

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

        return $t;
    },
    []
);

我不确定类的输入是什么,但您可以尝试许多数组函数中的一个,例如:这太完美了…将其编辑为包含$classes和'Name'参数之间的逗号。谢谢,这是一个错误