3v4l.org

run code in 300+ PHP versions simultaneously
<?php <?php function cellColor($cells,$color){ global $objPHPExcel; $objPHPExcel->getActiveSheet()->getStyle($cells)->getFill() ->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'startcolor' => array('rgb' => $color) )); } $strana = 0; $mesiace = array( '01'=>'Január', '02'=>'Február', '03'=>'Marec', '04'=>'Apríl', '05'=>'Máj', '06'=>'Jún', '07'=>'Júl', '08'=>'August', '09'=>'September', '10'=>'Október', '11'=>'November', '12'=>'December' ); $pop = array( 'B' => 'VŽP', 'C' => 'Cena', 'D' => 'Zber', 'E' => 'Oleje', 'F' => 'Cena', 'G' => 'dátum/kg', 'H' => 'dátum/kg', 'I' => 'dátum/kg', 'J' => 'dátum/kg', 'K' => 'dátum/kg', 'L' => 'dátum/l', 'M' => 'dátum/l', 'N' => 'dátum/l' ); $pos = 0; for ($i = 1; $i <= 12; $i++) { $c = ($i< 10) ? '0'.$i : (string) $i; if ($i-1 > 0) $objPHPExcel->createSheet($i-1); $objPHPExcel->getSheet($i-1)->setTitle($mesiace[$c]); } $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(32); $eArra = array('E', 'G', 'H', 'I', 'J', 'K'); for ($y = 0; $y < count($eArra); $y++) { $objPHPExcel->getActiveSheet()->getColumnDimension($eArra[$y])->setWidth(15); } // Set page orientation, size, Print Area and Fit To Pages $objPageSetup = new PHPExcel_Worksheet_PageSetup(); $objPageSetup->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); $objPageSetup->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT); $objPageSetup->setPrintArea("A1:N800"); $objPageSetup->setFitToWidth(1); $objPHPExcel->getActiveSheet()->setPageSetup($objPageSetup); ## function recode ($str) { $separator1 = ';'; $separator2 = '&#'; $tmp = explode($separator1, $str); foreach ($tmp as $key=>$value) { $pmt = explode($separator2, $value); foreach ($pmt as $key2=>$value2) { if (is_numeric($value2) && mb_strlen((string) $value2) < 4) $pmt[$key2] = mb_convert_encoding($separator2 . intval($value2) . $separator1, 'UTF-8', 'HTML-ENTITIES'); } $tmp[$key] = implode('', $pmt); } $output = implode('', $tmp); return preg_replace('/\s+/', ' ', $output); } $iterator = 0; foreach ($mesiace as $cislomesiaca=>$nazovmesiaca) { $pos = 0; $objPHPExcel->setActiveSheetIndex($iterator); foreach ($vystup as $key=>$value) { $prevadzka = $value['name']; $kontakt = $value['contact']; $info = $value['note']; $vzp = ($value['waste_vzp'] != 1) ? 'NIE' : 'ÁNO'; $cenavzp = ($value['waste_vzp'] != 1) ? '' : $value['price_vzp']; $zbervzp = ($value['waste_vzp'] != 1) ? '' : $value['collection_vzp'] . 'x'; $oleje = $value['contracts']; $cenaodpad = $value['waste_price']; foreach ($value['wastes'] as $key2=>$value2) { $mesiacik = $mesiace[$key2]; $objPHPExcel->getActiveSheet()->setCellValue('A4', $_GET['y'] . ' - ' . $nazovmesiaca); foreach ($value2 as $key3=>$value3) { foreach ($value3 as $datum=>$vaha) { if ($cislomesiaca == $key2) { } } } } // TBLR $objPHPExcel->getActiveSheet()->getStyle('A' . (7 + $pos) . ':N' . (7 + $pos))->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); $objPHPExcel->getActiveSheet()->getStyle('A' . (7 + $pos) . ':N' . (7 + $pos))->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); $objPHPExcel->getActiveSheet()->getStyle('A' . (7 + $pos) . ':N' . (7 + $pos))->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); $objPHPExcel->getActiveSheet()->getStyle('A' . (7 + $pos) . ':N' . (7 + $pos))->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); // left $objPHPExcel->getActiveSheet()->getStyle('G' . (7 + $pos))->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); $objPHPExcel->getActiveSheet()->getStyle('G' . (8 + $pos))->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); $objPHPExcel->getActiveSheet()->getStyle('G' . (9 + $pos))->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); $objPHPExcel->getActiveSheet()->getStyle('L' . (7 + $pos))->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); $objPHPExcel->getActiveSheet()->getStyle('L' . (8 + $pos))->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); $objPHPExcel->getActiveSheet()->getStyle('L' . (9 + $pos))->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); // right $objPHPExcel->getActiveSheet()->getStyle('N' . (7 + $pos))->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); $objPHPExcel->getActiveSheet()->getStyle('N' . (8 + $pos))->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); $objPHPExcel->getActiveSheet()->getStyle('N' . (9 + $pos))->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); // bottom $objPHPExcel->getActiveSheet()->getStyle('G' . (9 + $pos) . ':N' . (9 + $pos))->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); cellColor('A' . (7 + $pos) . ':N' . (7 + $pos), 'EEEEEE'); cellColor('G' . (9 + $pos) . ':N' . (9 + $pos), 'EEEEEE'); $objPHPExcel->getActiveSheet()->getStyle('A' . (9 + $pos))->getAlignment()->setWrapText(true); foreach ($pop as $bunka=>$hodnota) { $objPHPExcel->getActiveSheet()->setCellValue($bunka . (7 + $pos), recode($hodnota)); } $objPHPExcel->getActiveSheet()->setCellValue('A' . (7 + $pos), recode($prevadzka)); $objPHPExcel->getActiveSheet()->setCellValue('A' . (8 + $pos), recode($kontakt)); $objPHPExcel->getActiveSheet()->setCellValue('A' . (9 + $pos), recode($info)); $objPHPExcel->getActiveSheet()->setCellValue('B' . (8 + $pos), recode($vzp)); $objPHPExcel->getActiveSheet()->setCellValue('C' . (8 + $pos), $cenavzp); $objPHPExcel->getActiveSheet()->setCellValue('D' . (8 + $pos), $zbervzp); $objPHPExcel->getActiveSheet()->setCellValue('E' . (8 + $pos), recode($oleje)); $objPHPExcel->getActiveSheet()->setCellValue('F' . (8 + $pos), $cenaodpad); $pos+=4; } $iterator++; } $objPHPExcel->setActiveSheetIndex(0); $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); $objWriter->save($fileName); header("Content-Description: File Transfer"); header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=\"$fileName\""); readfile ($fileName); ?>

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
5.4.270.0110.03912.36
5.4.260.0050.04712.36
5.4.250.0090.04912.36
5.4.240.0080.04612.36
5.4.230.0090.05312.35
5.4.220.0070.03812.36
5.4.210.0100.03412.36
5.4.200.0070.04212.35
5.4.190.0080.03712.35
5.4.180.0090.04212.35
5.4.170.0070.04512.36
5.4.160.0070.03812.35
5.4.150.0040.04012.35
5.4.140.0080.04212.04
5.4.130.0050.03912.02
5.4.120.0080.03711.98
5.4.110.0100.03811.98
5.4.100.0100.03511.98
5.4.90.0090.03811.98
5.4.80.0070.05011.98
5.4.70.0120.05511.97
5.4.60.0120.05211.98
5.4.50.0100.04911.98
5.4.40.0080.05511.96
5.4.30.0110.05311.96
5.4.20.0120.05611.96
5.4.10.0140.05411.96
5.4.00.0110.05011.45
5.3.280.0100.06812.71
5.3.270.0100.05012.72
5.3.260.0120.06412.72
5.3.250.0070.04712.72
5.3.240.0070.04112.71
5.3.230.0070.04212.71
5.3.220.0210.04912.68
5.3.210.0060.04712.68
5.3.200.0090.04112.68
5.3.190.0100.03812.68
5.3.180.0090.04312.67
5.3.170.0080.03712.67
5.3.160.0050.04612.67
5.3.150.0070.03912.67
5.3.140.0090.03612.66
5.3.130.0090.04112.66
5.3.120.0080.04112.65
5.3.110.0080.04312.66
5.3.100.0080.04212.12
5.3.90.0070.03612.08
5.3.80.0070.03712.07
5.3.70.0090.03512.07
5.3.60.0090.04012.06
5.3.50.0090.04612.00
5.3.40.0100.04712.00
5.3.30.0120.04111.94
5.3.20.0140.04911.70
5.3.10.0090.05311.66
5.3.00.0110.05411.65

preferences:
139.89 ms | 1394 KiB | 7 Q