PHP如何在for循环中操作变量并返回它

PHP如何在for循环中操作变量并返回它,php,php-7.2,Php,Php 7.2,我已经声明了一个数组$data,并将其传递到foreach循环的参数中。在循环中,我需要推送或合并新数组并返回它。显然,返回对象不是预期的。它只包含标题。我正在使用php7.2 $data = ['code','name']; $submission->contributions->each(function (Contribution $contribution) use ($data) { $rowData = [ $contri

我已经声明了一个数组$data,并将其传递到foreach循环的参数中。在循环中,我需要推送或合并新数组并返回它。显然,返回对象不是预期的。它只包含标题。我正在使用php7.2

$data = ['code','name'];
    $submission->contributions->each(function (Contribution $contribution) use ($data) {

        $rowData = [
            $contribution->employment->employer->code,
            $contribution->employment->employee->last_name,
        ];

        $data = array_merge($data, [$rowData]);
    });
    print_f($data)

可以只使用
foreach
,您的
$data
阵列将可用:

$data = ['code','name'];
foreach($submission->contributions as $contribution) {
    $data = array_merge($data, 
        [
            $contribution->employment->employer->code,
            $contribution->employment->employee->last_name
        ]);
}

尝试
使用(&$data)
。您使用哪个库/框架?
贡献的类型是什么?也许有一些函数类似于
reduce
或类似于
array\u reduce
的smth,那么做你想做的事情就不会有任何问题了。我使用的是laravelGreat,没问题:)