3v4l.org

run code in 300+ PHP versions simultaneously
<?php function fillSheet($sheet, $fields, $data) { // headers $colLetter = "A"; $rowNumber = 1; // A1...Z1 for header foreach ($fields as $fieldname){ $sheet->setCellValue($colLetter.$rowNumber, $fieldname); $colLetter++; } // A2..Z999 for the rest foreach ($data as $row) { $rowNumber++; $colLetter = "A"; foreach ($fields as $i => $fieldname) { $sheet->setCellValue($colLetter.$rowNumber, $row[$i]); $colLetter++; } } } // mock class Sheet { public function setCellValue($a, $b) { echo "$a : $b\n"; } }; $sheet = new Sheet(); $ids = ["1", "2", "3"]; $fields = ["firstname", "lastname", "phonenumber"]; $data = [ ['Mary', 'Stuart', '555-555-0001'], ['John', 'Doe', '555-555-5555'] ]; // end mock /* $ids = $_POST["id"]; $values = $_POST["values"]; $sqlIds = implode(",", $ids); $sqlFields = implode(",", $fields); $sql="SELECT $sqlFields FROM database WHERE id IN ($sqlIds)"; $result = mysqli_query($connect, $sql); $data = []; while ($row = mysqli_fetch_array($result)) { $data[] = $row; } */ fillSheet($sheet, $fields, $data);
Output for git.master, git.master_jit, rfc.property-hooks
A1 : firstname B1 : lastname C1 : phonenumber A2 : Mary B2 : Stuart C2 : 555-555-0001 A3 : John B3 : Doe C3 : 555-555-5555

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
32.32 ms | 401 KiB | 8 Q