3v4l.org

run code in 300+ PHP versions simultaneously
<?php $xmlstr = <<<XML <xml> <medium val="cpa"> <source val="affilinet"> <campaign val=""> <lever3 val="affiliation" /> <lever2 val="affiliation" /> <lever1 val="trafic_payant" /> </campaign> </source> </medium> <medium val="cpc"> <!-- uncomplete --> <source val=""> <campaign val="remarketing"> <lever3 val="sem-remarketing" /> <lever2 val="sem" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val="bing"> <campaign val="auchan-fil_rouge"> <lever3 val="sem-marque-yahoo_bing" /> <lever2 val="sem" /> <lever1 val="trafic_payant" /> </campaign> <campaign val="marque"> <lever3 val="sem-marque-yahoo_bing"/> <lever2 val="sem" /> <lever1 val="trafic_payant" /> </campaign> <campaign val="horsmarque"> <lever3 val="sem-horsmarque-yahoo_bing"/> <lever2 val="sem" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val="leguide"> <campaign val=""> <lever3 val="comparateur-leguide" /> <lever2 val="comparateur" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val="google"> <campaign val="marque"> <lever3 val="sem-marque-google" /> <lever2 val="sem" /> <lever1 val="trafic_payant" /> </campaign> <campaign val="auchan-fil_rouge"> <lever3 val="sem-marque-google" /> <lever2 val="sem" /> <lever1 val="trafic_payant" /> </campaign> <campaign val="horsmarque"> <lever3 val="sem-hors-marque-google" /> <lever2 val="sem" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val="google.shopping"> <campaign val=""> <lever3 val="comparateur-google_shopping" /> <lever2 val="comparateur" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val="cherchons"> <campaign val=""> <lever3 val="comparateur-cherchons" /> <lever2 val="comparateur" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val="shopping.cherchons.com"> <campaign val=""> <lever3 val="comparateur-cherchons" /> <lever2 val="comparateur" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val="twenga"> <campaign val=""> <lever3 val="comparateur-twenga" /> <lever2 val="comparateur" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val="achetezfacile"> <campaign val=""> <lever3 val="comparateur-achetez_facile" /> <lever2 val="comparateur" /> <lever1 val="trafic_payant" /> </campaign> </source> </medium> <medium val="organic"> <source val=""> <campaign val=""> <lever3 val="seo" /> <lever2 val="seo" /> <lever1 val="trafic_gratuit" /> </campaign> </source> </medium> <medium val="display"> <source val=""> <campaign val=""> <lever3 val="display" /> <lever2 val="display" /> <lever1 val="trafic_payant" /> </campaign> </source> </medium> <medium val="email"> <source val="newsletteraecf"> <campaign val=""> <lever3 val="email-auchanfr" /> <lever2 val="email_auchanfr" /> <lever1 val="email_auchanfr" /> </campaign> </source> <source val="magasinauchan"> <campaign val=""> <lever3 val="email_hypers" /> <lever2 val="partenaires_hypers" /> <lever1 val="hypers" /> </campaign> </source> </medium> <medium val="idealo"> <source val=""> <campaign val=""> <lever3 val="comparateur-idealo" /> <lever2 val="comparateur" /> <lever1 val="trafic_payant" /> </campaign> </source> </medium> <medium val="partaenaire"> <source val=""> <campaign val=""> <lever3 val="partenariat" /> <lever2 val="partenariat" /> <lever1 val="trafic_gratuit" /> </campaign> </source> <source val="magasinauchan"> <campaign val=""> <lever3 val="partenaire_hypers" /> <lever2 val="partenaires_hypers" /> <lever1 val="hypers" /> </campaign> </source> </medium> <medium val="referral"> <source val="go.leguide.com"> <campaign val=""> <lever3 val="comparateur-leguide" /> <lever2 val="comparateur" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val="webmarchand.com"> <campaign val=""> <lever3 val="comparateur-leguide" /> <lever2 val="comparateur" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val="choozen.fr"> <campaign val=""> <lever3 val="comparateur-leguide" /> <lever2 val="comparateur" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val="r.twenga.fr"> <campaign val=""> <lever3 val="comparateur-twenga" /> <lever2 val="comparateur" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val="twenga.fr"> <campaign val=""> <lever3 val="comparateur-twenga" /> <lever2 val="comparateur" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val=""> <campaign val=""> <lever3 val="referents_externes" /> <lever2 val="referents_externes" /> <lever1 val="trafic_gratuit" /> </campaign> </source> </medium> <medium val="retargeting"> <source val="mythings"> <campaign val=""> <lever3 val="retargeting-mythings" /> <lever2 val="retargeting" /> <lever1 val="trafic_payant" /> </campaign> </source> <source val="eperflex"> <campaign val=""> <lever3 val="retargeting-eperflex" /> <lever2 val="retargeting" /> <lever1 val="trafic_payant" /> </campaign> </source> </medium> <medium val="rtb"> <source val=""> <campaign val=""> <lever3 val="forfait_rtb" /> <lever2 val="rtb" /> <lever1 val="trafic_payant" /> </campaign> </source> </medium> </xml> XML; $xml = new SimpleXMLElement($xmlstr); $addr = "http://example.com/?foo=bar&utm_source=google&pk_rdm=1235#2&utm_medium=cpc&utm_campaign=auchan-fil_rouge"; // Parse the url. $results = explode("&", explode("?", $addr)[1]); $tags = array ('utm_medium=', 'utm_source=', 'utm_campaign='); $sources = array('medium_val' => '', 'source_val' => '','campaing_val' => ''); foreach($results as $result){ foreach($tags as $key => $tag) { if (($offset = stripos($result, $tag)) !== false) $sources[$key] = substr($result, strlen($tag)); } } $results = $xml->xpath("//medium[@val='{$sources[0]}']/source[@val='{$sources[1]}']/campaign[@val='{$sources[2]}']/*"); $leviers = array("levier3", "levier2", "levier1"); echo $results[0]->attributes()."\n"; echo $results[1]->attributes()."\n"; echo $results[2]->attributes()."\n"; //foreach ($results as $key => $result) { // echo " {$leviers[$key]} => {$result->attributes()}\n"; //}

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)
8.3.60.0090.01317.00
8.3.50.0140.00822.25
8.3.40.0110.00719.17
8.3.30.0090.00619.43
8.3.20.0060.00320.61
8.3.10.0050.00323.94
8.3.00.0090.00321.11
8.2.180.0160.00617.00
8.2.170.0090.00619.31
8.2.160.0100.00722.96
8.2.150.0040.00424.18
8.2.140.0090.00024.66
8.2.130.0000.00826.16
8.2.120.0040.00422.65
8.2.110.0040.00422.70
8.2.100.0080.00418.41
8.2.90.0030.00619.71
8.2.80.0080.00018.43
8.2.70.0050.00518.13
8.2.60.0000.00818.39
8.2.50.0000.00818.07
8.2.40.0030.00619.86
8.2.30.0050.00518.54
8.2.20.0040.00418.20
8.2.10.0030.00518.06
8.2.00.0040.00418.26
8.1.280.0070.01425.92
8.1.270.0050.00324.32
8.1.260.0050.00326.35
8.1.250.0070.00028.09
8.1.240.0030.00624.24
8.1.230.0080.00419.59
8.1.220.0000.00818.02
8.1.210.0000.00818.77
8.1.200.0030.00617.72
8.1.190.0040.00417.89
8.1.180.0040.00418.10
8.1.170.0060.00319.12
8.1.160.0000.00722.49
8.1.150.0040.00419.08
8.1.140.0040.00417.85
8.1.130.0040.00418.27
8.1.120.0000.00717.97
8.1.110.0040.00418.03
8.1.100.0030.00517.81
8.1.90.0050.00517.97
8.1.80.0080.00017.95
8.1.70.0000.00717.75
8.1.60.0000.00918.13
8.1.50.0080.00017.85
8.1.40.0040.00418.05
8.1.30.0000.00818.14
8.1.20.0040.00417.95
8.1.10.0080.00017.95
8.1.00.0040.00417.87
8.0.300.0040.00418.77
8.0.290.0000.00717.41
8.0.280.0070.00018.98
8.0.270.0050.00317.66
8.0.260.0040.00417.38
8.0.250.0070.00017.49
8.0.240.0030.00717.43
8.0.230.0040.00417.38
8.0.220.0070.00017.50
8.0.210.0070.00017.47
8.0.200.0000.00817.37
8.0.190.0040.00417.57
8.0.180.0040.00417.50
8.0.170.0000.00817.54
8.0.160.0000.00717.23
8.0.150.0030.00617.43
8.0.140.0040.00417.50
8.0.130.0060.00013.93
8.0.120.0040.00417.48
8.0.110.0040.00417.30
8.0.100.0060.00317.32
8.0.90.0040.00417.42
8.0.80.0090.00917.50
8.0.70.0000.00717.26
8.0.60.0040.00417.48
8.0.50.0040.00417.29
8.0.30.0150.00417.56
8.0.20.0100.01217.60
8.0.10.0040.00417.52
8.0.00.0130.00617.30
7.4.330.0030.00315.48
7.4.320.0000.00617.04
7.4.300.0070.00017.03
7.4.290.0040.00416.94
7.4.280.0000.00716.93
7.4.270.0070.00016.98
7.4.260.0040.00416.93
7.4.250.0030.00517.04
7.4.240.0040.00417.08
7.4.230.0000.00717.03
7.4.220.0090.00917.20
7.4.210.0050.00917.07
7.4.200.0040.00417.04
7.4.190.0000.00717.07
7.4.160.0100.00717.11
7.4.150.0000.02017.40
7.4.140.0050.01417.86
7.4.130.0110.00717.04
7.4.120.0030.01517.00
7.4.110.0060.01917.05
7.4.100.0090.00917.00
7.4.90.0100.00716.94
7.4.80.0060.01217.03
7.4.70.0070.01016.98
7.4.60.0030.01717.09
7.4.50.0040.00416.79
7.4.40.0030.01422.77
7.4.30.0080.01117.22
7.4.00.0060.00815.43
7.3.330.0060.00013.72
7.3.320.0000.00513.66
7.3.310.0050.00216.93
7.3.300.0050.00316.81
7.3.290.0220.00016.77
7.3.280.0120.00916.93
7.3.270.0080.00817.40
7.3.260.0120.00616.98
7.3.250.0140.00516.94
7.3.240.0070.01416.85
7.3.230.0060.01216.77
7.3.210.0100.01016.91
7.3.200.0140.01019.39
7.3.190.0090.00817.07
7.3.180.0160.00016.82
7.3.170.0130.00716.83
7.3.160.0060.01017.16
7.3.120.0030.01315.04
7.3.110.0000.01815.32
7.3.100.0090.00614.95
7.3.90.0060.01015.13
7.3.80.0060.00915.30
7.3.70.0080.00815.13
7.3.60.0030.01215.14
7.3.50.0040.01115.18
7.3.40.0130.00314.86
7.3.30.0070.01015.30
7.3.20.0100.00616.91
7.3.10.0030.01016.97
7.3.00.0090.00617.00
7.2.330.0090.01217.40
7.2.320.0030.01317.11
7.2.310.0100.01017.17
7.2.300.0030.01417.18
7.2.290.0120.00617.18
7.2.240.0070.00715.38
7.2.230.0070.00715.21
7.2.220.0100.00715.56
7.2.210.0090.00615.31
7.2.200.0040.01415.34
7.2.190.0080.00415.31
7.2.180.0110.00615.19
7.2.170.0070.00715.10
7.2.160.0030.01015.39
7.2.150.0060.00917.26
7.2.140.0090.00617.14
7.2.130.0040.00817.29
7.2.120.0000.01517.18
7.2.110.0060.00617.13
7.2.100.0060.00617.15
7.2.90.0070.01117.03
7.2.80.0030.01317.10
7.2.70.0070.00717.11
7.2.60.0070.01117.23
7.2.50.0090.00317.04
7.2.40.0030.01417.35
7.2.30.0030.01417.16
7.2.20.0060.01317.15
7.2.10.0100.00717.20
7.2.00.0030.01018.37
7.1.330.0110.00016.12
7.1.320.0070.00316.19
7.1.310.0070.00716.25
7.1.300.0040.01116.05
7.1.290.0080.00815.86
7.1.280.0000.01516.24
7.1.270.0040.01216.07
7.1.260.0100.00716.16
7.1.250.0070.00716.02
7.1.200.0060.00616.11
7.1.100.0000.01618.63
7.1.70.0000.00717.62
7.1.60.0130.01319.27
7.1.50.0060.01616.82
7.1.00.0030.07322.58
7.0.200.0030.00617.09
7.0.140.0000.07722.30
7.0.100.0130.05020.37
7.0.90.0100.05320.36
7.0.80.0030.04720.09
7.0.70.0130.04020.14
7.0.60.0070.04720.21
7.0.50.0070.04320.64
7.0.40.0030.04020.38
7.0.30.0100.03020.32
7.0.20.0000.04320.35
7.0.10.0030.04020.38
7.0.00.0100.05020.36
5.6.280.0070.09721.22
5.6.250.0130.06721.00
5.6.240.0030.04720.98
5.6.230.0000.06020.85
5.6.220.0100.03320.96
5.6.210.0000.04320.87
5.6.200.0000.04721.25
5.6.190.0030.05721.27
5.6.180.0030.04321.30
5.6.170.0030.03721.23
5.6.160.0070.04021.23
5.6.150.0030.04321.34
5.6.140.0000.04321.30
5.6.130.0000.06321.44
5.6.120.0000.04721.29
5.6.110.0030.04321.24
5.6.100.0030.04721.27
5.6.90.0030.04321.39
5.6.80.0070.03720.82
5.6.70.0070.03320.70
5.6.60.0100.03020.80
5.6.50.0100.05020.72
5.6.40.0070.07720.82
5.6.30.0070.07720.69
5.6.20.0130.06020.66
5.6.10.0070.04320.79
5.6.00.0000.04320.65
5.5.380.0070.04020.80
5.5.370.0000.04320.77
5.5.360.0000.05020.70
5.5.350.0070.04020.73
5.5.340.0070.03721.23
5.5.330.0070.06721.24
5.5.320.0000.04021.21
5.5.310.0030.04721.05
5.5.300.0000.04021.09
5.5.290.0130.04321.14
5.5.280.0070.04021.25
5.5.270.0100.04021.04
5.5.260.0070.04021.23
5.5.250.0070.04321.04
5.5.240.0000.04020.53
5.5.230.0070.04320.63
5.5.220.0030.08320.52
5.5.210.0100.06020.61
5.5.200.0030.04320.40
5.5.190.0030.04320.46
5.5.180.0100.04020.48
5.5.160.0030.04020.38
5.5.150.0100.04320.42
5.5.140.0100.05320.59
5.5.130.0070.07720.59
5.5.120.0070.08320.45
5.5.110.0030.06320.39
5.5.100.0000.08720.49
5.5.90.0100.05720.47
5.5.80.0070.08020.43
5.5.70.0130.08020.38
5.5.60.0130.06320.48
5.5.50.0070.07020.29
5.5.40.0030.08020.45
5.5.30.0100.07720.27
5.5.20.0030.07720.36
5.5.10.0030.07720.26
5.5.00.0070.06720.28
5.4.450.0030.04719.71
5.4.440.0130.03019.65
5.4.430.0030.04019.59
5.4.420.0000.03719.64
5.4.410.0070.03719.55
5.4.400.0000.03719.27
5.4.390.0070.03319.38
5.4.380.0000.04019.27
5.4.370.0070.07719.29
5.4.360.0130.04019.36
5.4.350.0030.07719.08
5.4.340.0070.08019.32
5.4.320.0070.03319.34
5.4.310.0070.03019.38
5.4.300.0070.08719.34
5.4.290.0030.08019.52
5.4.280.0100.07019.33
5.4.270.0070.07719.36
5.4.260.0070.05319.34
5.4.250.0070.06319.16
5.4.240.0070.06719.11
5.4.230.0070.04319.11
5.4.220.0100.06019.40
5.4.210.0100.07019.18
5.4.200.0170.06719.07
5.4.190.0170.06719.07
5.4.180.0070.07719.32
5.4.170.0070.07719.35
5.4.160.0100.07319.09
5.4.150.0070.07319.33
5.4.140.0100.08016.74
5.4.130.0130.06716.41
5.4.120.0170.05016.63
5.4.110.0070.07016.55
5.4.100.0100.07016.61
5.4.90.0130.06716.68
5.4.80.0030.07316.71
5.4.70.0070.06716.59
5.4.60.0030.05716.60
5.4.50.0130.06316.58
5.4.40.0070.07016.70
5.4.30.0130.06716.63
5.4.20.0100.06316.64
5.4.10.0070.05716.74
5.4.00.0130.06016.08
5.3.290.0000.03314.68
5.3.280.0100.07014.44
5.3.270.0100.07014.62
5.3.260.0200.06014.57
5.3.250.0030.06014.45
5.3.240.0100.07714.45
5.3.230.0130.07314.60
5.3.220.0070.07714.41
5.3.210.0130.06714.57
5.3.200.0070.07714.43
5.3.190.0070.06714.53
5.3.180.0030.07314.55
5.3.170.0070.06014.60
5.3.160.0030.05714.39
5.3.150.0100.07314.55
5.3.140.0000.08314.57
5.3.130.0100.06714.52
5.3.120.0070.07314.55
5.3.110.0100.07014.38
5.3.100.0030.04014.01
5.3.90.0100.07314.02
5.3.80.0100.05714.02
5.3.70.0070.03714.02
5.3.60.0130.03014.00
5.3.50.0070.06713.93
5.3.40.0030.06013.89
5.3.30.0000.08313.82
5.3.20.0100.06713.66
5.3.10.0070.06013.66
5.3.00.0070.07013.42
5.2.170.0030.03310.95
5.2.160.0000.06311.14
5.2.150.0030.06011.20
5.2.140.0000.07011.02
5.2.130.0100.05311.07
5.2.120.0030.06311.06
5.2.110.0000.06311.11
5.2.100.0130.05710.92
5.2.90.0130.05010.95
5.2.80.0100.05310.96
5.2.70.0030.06710.97
5.2.60.0030.06011.10
5.2.50.0030.05311.10
5.2.40.0030.05010.93
5.2.30.0130.03710.98
5.2.20.0070.06011.11
5.2.10.0170.04711.02
5.2.00.0030.06010.92
5.1.60.0070.03710.04
5.1.50.0030.05710.24
5.1.40.0100.0539.98
5.1.30.0030.05310.42
5.1.20.0070.05710.37
5.1.10.0030.04310.30
5.1.00.0030.06010.29
5.0.50.0030.0478.76
5.0.40.0030.0378.65
5.0.30.0000.0638.46
5.0.20.0030.0478.46
5.0.10.0030.0438.46
5.0.00.0070.0638.46
4.4.90.0030.0378.46
4.4.80.0070.0338.46
4.4.70.0070.0278.46
4.4.60.0030.0338.46
4.4.50.0030.0308.46
4.4.40.0000.0578.46
4.4.30.0030.0378.46
4.4.20.0030.0178.46
4.4.10.0000.0208.46
4.4.00.0030.0538.46
4.3.110.0030.0378.46
4.3.100.0030.0378.46
4.3.90.0030.0338.46
4.3.80.0000.0578.46
4.3.70.0030.0338.46
4.3.60.0130.0238.46
4.3.50.0030.0338.46
4.3.40.0070.0508.46
4.3.30.0130.0238.46
4.3.20.0000.0338.46
4.3.10.0000.0378.46
4.3.00.0030.0278.46

preferences:
44.36 ms | 401 KiB | 5 Q