여러 제품을 CSV 파일로 변환하려는 목표를 효과적으로 달성할 수 있습니다. 그러나 해결해야 할 미묘한 차이가 있습니다.
귀하의 코드에서 주요 문제는 여러 루프를 사용하는 데 있는 것으로 보이며 이로 인해 바람직하지 않은 한 줄 CSV 출력이 발생할 수 있습니다.
< ;h3>더 나은 솔루션
이 문제를 극복하려면 내장 PHP 함수인 fputcsv()를 사용하는 것을 고려해 보세요. 향상된 코드 조각은 다음과 같습니다.
<code class="php">$sql = "SELECT id, name, description FROM products"; if ($result = $mysqli->query($sql)) { $output = fopen("php://output", 'w') or die("Can't open php://output"); header("Content-Type:application/csv"); header("Content-Disposition:attachment;filename=pressurecsv.csv"); fputcsv($output, array('id', 'name', 'description')); while ($p = $result->fetch_array()) { fputcsv($output, $p); } fclose($output) or die("Can't close php://output"); }</code>
이 수정된 접근 방식에서는
참고: 저장하지 않으려면 파일을 생성한 후 연결을 해제()해야 합니다.
이러한 변경 사항을 구현하면 헤더와 줄바꿈이 예상대로 포함된 올바른 형식의 CSV 파일을 생성할 수 있습니다.
위 내용은 PHP 배열을 CSV로 변환 문제를 해결하고 우수한 접근 방식을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!