3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class TipoInput{ const Texto = 0; const Numerico = 1; const Fecha = 2; const Select=3; const SelectMultiple=4; const Vacio=5; } abstract class TipoValidacion{ const None=0; const Texto=1; const Numerico=2; const RangoNumero=3; const RangoFecha=4; } abstract class TipoGrupo{ const Simple=0; const Referencia=1; const Multiple=2; } abstract class Tipo{ const Campo=0; const Indicador=1; const IndicadorMaestro=2; } class option{ public $value; public $text; public function __construct($valor,$texto){ $this->value=$valor; $this->text=$texto; } } class propiedad{ public $id; public $nombre; public $tamanio; public $tipoCampo; public $validacion; public $tipoGrupo; public $maxValue; public $minValue; public $defaultValue; public $argValues; public $ref; public $tipo;//Campo Indicador public function __construct($size,$typeGroup,$typeField,$id,$name,$validation,$type,$referencias){ $this->id=$id; $this->nombre=$name; $this->tamanio=$size; $this->tipoCampo=$typeField; $this->validacion=$validation; $this->tipoGrupo=$typeGroup; $this->minValue="01-01-2014"; $this->maxValue="06-01-2014"; $this->defaultValue='hola'; $this->argValues = array(); $this->argValues[0] = new option(0,'Ola'); $this->argValues[1] = new option(1,'k'); $this->argValues[2] = new option(2,'ase'); $this->tipo=$type; $this->ref=$referencias; } //Ejemplo de utilizaciĆ³n. //vector de referencia $vecRef = array(); $vecRef[]= new propiedad(8, TipoGrupo::Simple,TipoInput::Texto,'c11',"Nombre", TipoValidacion::Texto, Tipo::Campo,null); $vecRef[]= new propiedad(4,TipoGrupo::Simple,TipoInput::Numerico, 'c22',"Cedula", TipoValidacion::Numerico, Tipo::Indicador,null); $vecRef[] = new propiedad(4,TipoGrupo::Simple,TipoInput::Fecha, 'c33',"Fecha Nacimiento", TipoValidacion::Texto, Tipo::Campo,null); $vecRef2 = array(); $vecRef2[]= new propiedad(3, TipoGrupo::Simple,TipoInput::Texto,'c111',"Nombre", TipoValidacion::Texto, Tipo::Campo,null); $vecRef2[]= new propiedad(4,TipoGrupo::Simple,TipoInput::Numerico, 'c222',"Cedula", TipoValidacion::Numerico, Tipo::Indicador,null); $vecRef2[] = new propiedad(3,TipoGrupo::Simple,TipoInput::Fecha, 'c333',"Fecha Nacimiento", TipoValidacion::Texto, Tipo::Campo,null); $vector = array(); $vector[] = new propiedad(5,TipoGrupo::Simple,TipoInput::Texto, 'c1',"A", TipoValidacion::Texto, Tipo::Campo,null); //espacio en blanco. $vector[]= new propiedad(2,TipoGrupo::Simple,TipoInput::Vacio,null,null,null, null,null); $vector[]= new propiedad(5,TipoGrupo::Simple,TipoInput::Numerico,'c2',"B", TipoValidacion::Numerico, Tipo::Campo,null); $vector[] = new propiedad(4,TipoGrupo::Simple,TipoInput::Fecha,'c3',"Fecha do Nacimiento", TipoValidacion::Texto, Tipo::Campo,null); $vector[] = new propiedad(5,TipoGrupo::Simple,TipoInput::Numerico,'c2a',"Cedula", TipoValidacion::Numerico, Tipo::Campo,null); //campo de referencia $vector[] = new propiedad(2,TipoGrupo::Referencia,TipoInput::Select,'c4a',"Campo Referencia", TipoValidacion::None, Tipo::Campo,$vecRef); $vector[] = new propiedad(4,TipoGrupo::Simple,TipoInput::Fecha,'c3a',"Hola", TipoValidacion::Texto, Tipo::Campo,null); //indicador de referencia $vector[]= new propiedad(2,TipoGrupo::Multiple,TipoInput::Select,'c4c',"Indicador Multiple", TipoValidacion::None, Tipo::Indicador,$vecRef2); //indicador multiple $vector[]= new propiedad(2,TipoGrupo::Referencia,TipoInput::Select,'c4b'," Referencia", TipoValidacion::None, Tipo::Indicador,$vecRef2); echo json_encode($vector);

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.0100.06019.14
5.4.260.0070.08319.02
5.4.250.0170.04719.23
5.4.240.0200.05718.85
5.4.230.0130.05019.09
5.4.220.0130.05018.98
5.4.210.0100.06018.92
5.4.200.0070.05719.02
5.4.190.0130.06319.04
5.4.180.0170.04319.04
5.4.170.0000.07019.22
5.4.160.0170.04718.99
5.4.150.0100.06719.03
5.4.140.0030.07316.67
5.4.130.0070.05716.73
5.4.120.0100.06016.73
5.4.110.0070.07016.58
5.4.100.0030.06316.72
5.4.90.0230.03716.48
5.4.80.0030.07016.72
5.4.70.0130.06716.73
5.4.60.0130.05016.64
5.4.50.0230.05316.64
5.4.40.0070.05316.51
5.4.30.0070.05316.50
5.4.20.0100.05016.38
5.4.10.0200.06316.61
5.4.00.0130.06315.84
5.3.280.0000.06014.89
5.3.270.0000.06714.80
5.3.260.0000.06014.80
5.3.250.0030.06714.68
5.3.240.0100.07314.64
5.3.230.0000.05714.80
5.3.220.0100.06014.77
5.3.210.0130.05714.79
5.3.200.0130.04714.47
5.3.190.0130.06714.85
5.3.180.0130.05014.46
5.3.170.0100.07314.87
5.3.160.0170.04014.75
5.3.150.0070.05714.77
5.3.140.0070.06014.86
5.3.130.0030.06014.57
5.3.120.0030.07714.86
5.3.110.0070.08014.74
5.3.100.0100.05013.94
5.3.90.0030.05714.09
5.3.80.0100.04713.92
5.3.70.0030.05314.07
5.3.60.0170.04014.24
5.3.50.0100.06714.25
5.3.40.0030.06014.18
5.3.30.0170.05014.22
5.3.20.0070.06713.77
5.3.10.0100.06013.89
5.3.00.0070.05013.54

preferences:
140.46 ms | 1394 KiB | 7 Q