Php 写一行一般的字

Php 写一行一般的字,php,symfony,Php,Symfony,我有一个小问题,想使一个可重用的代码,这段代码允许我保存在一个值​​文件,我向您展示我当前拥有的内容: fputcsv($handle, array_keys($dataRepository[0]), ','); foreach ($dataRepository as $key => $item) { fputcsv( $handle, [ $item['id'], $item['email'],

我有一个小问题,想使一个可重用的代码,这段代码允许我保存在一个值​​文件,我向您展示我当前拥有的内容:

fputcsv($handle, array_keys($dataRepository[0]), ',');

foreach ($dataRepository as $key => $item) {
    fputcsv(
        $handle,
        [
            $item['id'],
            $item['email'],
            $item['firstName']
        ],
        ','
    );
}
在这段代码中,我添加了'id','email','firstName',因为在我的存储库中我有这些元素,但是为了将来的重用,这些字段可能不存在,而是会有其他字段


这是我的问题,我怎样才能概括这一部分?我尝试了几个不起作用的例子,比如重新执行foreach等…

重构代码创建函数,并将数据名作为数组传递给它

function customCSVFunction($handle, $dataRepository, $parametersArray)
{
    fputcsv($handle, array_keys($dataRepository[0]), ',');

    foreach ($dataRepository as $key => $item) {
        $items = [];
        foreach ($parametersArray as $parameter) {
            $items[] = $item[$parameter];
        }
        fputcsv($handle, $items, ',');
    }
}
您可以将其称为传递要保存到CSV中的数据的特定名称的函数

$parametersArray = [
    'id', 'email', 'firstName'
];

customCSVFunction($handle, $dataRepository, $parametersArray);

将字段名称作为数组传递给函数谢谢你的解释,你能解释更多吗?我想我真的不明白