代码的第一部分工作正常,但第二部分(显示结果)工作不正常。如果我插入
$slugs = explode(',', $slugs)
在…内
foreach ($pma...)
,它给了我
explode() expects parameter 2 to be string, array given
错误如果我保持现在的状态,它可以工作,但结果是以“马赛克,零散”模式给出的,具有多个相同的结果。即使
print_r()
每行显示800个结果(毫无意义)。
如何解决这个问题?
$data = fopen('php://output', 'w');
$fields = rtrim($_GET['fieldnames'], ",");
$slugs = rtrim($_GET['slugs'], ",");
$fieldnames = array();
$fieldslugs = array();
$pma = DB::table... // long query
$fields = explode(',', $fields);
foreach ($fields as $field) {
$fieldnames[] = $field;
}
fputcsv($data, $fieldnames);
$slugs = explode(',', $slugs);
foreach ($pma as $p) {
foreach ($slugs as $slug) {
$fieldslugs[] = $p->$slug;
}
fputcsv($data, $fieldslugs);
}
对不起,英语不好,请回答我的问题!