3v4l.org

run code in 300+ PHP versions simultaneously
<?php class StartTransactionResult { public $customerReference; // string public $errorDescription; // string public $redirectURL; // string public $success; // boolean } class TransactionDetails { public $billingAddress; // Address public $currencyCode; // int public $customerReference; // string public $description; // string public $goodsList; // GoodsItem public $languageCode; // string public $merchantAdditionalInformationList; // AdditionalInformation public $merchantId; // string public $returnURL; // string public $terminalId; // string public $totalAmount; // string public $merchantLocalDateTime;//string public $purchaserName;//string public $purchaserPhone;//string public $purchaserEmail;//string public $orderId;//string } class Address { public $addressLine1; // string public $addressLine2; // string public $city; // string public $country; // string public $county; // string public $zip; // string } class GoodsItem { public $amount; // string public $currencyCode; // int public $merchantsGoodsID; // string public $nameOfGoods; // string } class AdditionalInformation { public $key; // string public $value; // string } class StoredTransactionStatus { public $additionalInformation; // AdditionalInformation public $amountAuthorised; // string public $amountRefunded; // string public $amountRequested; // string public $amountSettled; // string public $authCode; // string public $goods; // GoodsItem public $transactionCurrencyCode; // string public $transactionStatus; // string } class startTransaction { public $transaction; // TransactionDetails } class startTransactionResponse { public $return; // StartTransactionResult } class refundTransaction { public $merchantId; // string public $password; // string public $referenceNr; // string public $refundAmount; // string public $description; // string public $goodsToRefund; // GoodsItem public $additionalInformation; // AdditionalInformation } class refundTransactionResponse { public $return; // boolean } class getVersionResponse { public $return; // string } class getTransactionStatus { public $merchantId; // string public $referenceNr; // string } class getTransactionStatusResponse { public $return; // StoredTransactionStatus } class completeTransaction { public $merchantId; // string public $referenceNr; // string public $transactionSuccess; // boolean public $overrideAmount; // string } class completeTransactionResponse { public $return; // boolean } /** * CNPMerchantWebServiceClient class * * * * @author {author} * @copyright {copyright} * @package {package} */ class CNPMerchantWebServiceClient extends SoapClient { private static $client = NULL; private static $classmap = array( 'StartTransactionResult' => 'StartTransactionResult', 'TransactionDetails' => 'TransactionDetails', 'Address' => 'Address', 'GoodsItem' => 'GoodsItem', 'AdditionalInformation' => 'AdditionalInformation', 'StoredTransactionStatus' => 'StoredTransactionStatus', 'startTransaction' => 'startTransaction', 'startTransactionResponse' => 'startTransactionResponse', 'refundTransaction' => 'refundTransaction', 'refundTransactionResponse' => 'refundTransactionResponse', 'getVersionResponse' => 'getVersionResponse', 'getTransactionStatus' => 'getTransactionStatus', 'getTransactionStatusResponse' => 'getTransactionStatusResponse', 'completeTransaction' => 'completeTransaction', 'completeTransactionResponse' => 'completeTransactionResponse', ); public function CNPMerchantWebServiceClient($wsdl = 'https://test.processing.kz/CNPMerchantWebServices/CNPMerchantWebService.wsdl', $options = array('connection_timeout' => 60, 'cache_wsdl' => WSDL_CACHE_MEMORY, 'trace' => 1, 'soap_version' => 'SOAP 1.2', 'encoding' => 'UTF-8', 'exceptions' => true, 'location' => 'https://test.processing.kz/CNPMerchantWebServices/services/CNPMerchantWebService')) { foreach(self::$classmap as $key => $value) { if(!isset($options['classmap'][$key])) { $options['classmap'][$key] = $value; } } parent::__construct($wsdl, $options); } /** * * * @param startTransaction $parameters * @return startTransactionResponse */ public function startTransaction(startTransaction $parameters) { return $this->__soapCall('startTransaction', array($parameters), array( 'uri' => 'https://kz.processing.cnp.merchant_ws/', 'soapaction' => '' ) ); } /** * * * @param refundTransaction $parameters * @return refundTransactionResponse */ public function refundTransaction(refundTransaction $parameters) { return $this->__soapCall('refundTransaction', array($parameters), array( 'uri' => 'https://kz.processing.cnp.merchant_ws/', 'soapaction' => '' ) ); } /** * * * @param * @return getVersionResponse */ public function getVersion() { return $this->__soapCall('getVersion', array(), array( 'uri' => 'https://kz.processing.cnp.merchant_ws/', 'soapaction' => '' ) ); } /** * * * @param getTransactionStatus $parameters * @return getTransactionStatusResponse */ public function getTransactionStatus(getTransactionStatus $parameters) { return $this->__soapCall('getTransactionStatus', array($parameters), array( 'uri' => 'https://kz.processing.cnp.merchant_ws/', 'soapaction' => '' ) ); } /** * * * @param completeTransaction $parameters * @return completeTransactionResponse */ public function completeTransaction(completeTransaction $parameters) { return $this->__soapCall('completeTransaction', array($parameters), array( 'uri' => 'https://kz.processing.cnp.merchant_ws/', 'soapaction' => '' ) ); } } function guid(){ if (function_exists('com_create_guid')){ return str_replace("}", "", str_replace("{", "", com_create_guid())); } else { mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up. $charid = strtoupper(md5(uniqid(rand(), true))); $hyphen = chr(45);// "-" $uuid = substr($charid, 0, 8).$hyphen .substr($charid, 8, 4).$hyphen .substr($charid,12, 4).$hyphen .substr($charid,16, 4).$hyphen .substr($charid,20,12); } return $uuid; } ?>

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)
7.3.10.0160.00016.59
7.3.00.0120.00316.66
7.2.130.0120.00316.44
7.2.120.0030.01416.95
7.2.110.0030.00616.73
7.2.100.0060.01016.47
7.2.90.0030.01316.80
7.2.80.0150.00016.88
7.2.70.0040.01116.89
7.2.60.0060.01216.62
7.2.50.0040.00816.82
7.2.40.0060.00916.89
7.2.30.0070.00716.69
7.2.20.0030.00716.77
7.2.10.0150.00016.53
7.2.00.0090.00016.80
7.1.250.0070.00715.19
7.1.70.0000.00917.03
7.1.60.0070.00319.40
7.1.50.0140.01116.79
7.1.00.0130.06022.33
7.0.200.0220.00916.39
7.0.140.0030.07722.08
7.0.120.0030.06722.15
7.0.60.0100.05319.96
7.0.50.0100.05717.93
7.0.40.0100.06720.09
7.0.30.0470.04720.07
7.0.20.0330.04720.24
7.0.10.0070.08320.17
7.0.00.0030.07020.07
5.6.280.0070.07020.92
5.6.210.0030.08320.66
5.6.200.0100.08318.32
5.6.190.0070.07320.33
5.6.180.3370.04720.75
5.6.170.0330.06720.39
5.6.160.0070.04320.52
5.6.150.0100.08318.23
5.6.140.0100.05718.30
5.6.130.0100.03718.31
5.6.120.0170.06021.12
5.6.110.0330.06720.95
5.6.100.0100.05721.14
5.6.90.0100.08321.09
5.6.80.0130.07020.53
5.6.70.4500.03720.56
5.5.350.0300.07320.58
5.5.340.0030.04318.07
5.5.330.0070.08020.56
5.5.320.0230.04320.31
5.5.310.0300.07720.30
5.5.300.0000.07718.07
5.5.290.0200.05318.11
5.5.280.0170.07320.83
5.5.270.0170.06720.82
5.5.260.0130.07720.82
5.5.250.0170.07320.67
5.5.240.0300.07020.34
5.4.450.0200.04319.53
5.4.440.0330.04319.32
5.4.430.0200.06019.41
5.4.420.0230.07019.38
5.4.410.0270.06019.33
5.4.400.0270.07319.14
5.4.390.0270.06019.22
5.4.380.0200.07719.20
5.4.370.0200.07719.14
5.4.360.0200.06019.25
5.4.350.0270.07319.22
5.4.340.0230.04719.06
5.4.320.0170.04018.99
5.4.310.0200.04019.16
5.4.300.0100.05018.94
5.4.290.0230.06719.13
5.4.280.0230.04718.94
5.4.270.0300.07018.87
5.4.260.0300.05318.96
5.4.250.0270.05019.23
5.4.240.0170.04719.19
5.4.230.0200.04019.07
5.4.220.0330.06318.98
5.4.210.0400.07019.07
5.4.200.0200.08318.96
5.4.190.0230.07318.98
5.4.180.0330.04319.20
5.4.170.0270.06319.08
5.4.160.0200.03719.06
5.4.150.0200.03719.22
5.4.140.0230.04016.34
5.4.130.0170.04716.71
5.4.120.0200.04016.71
5.4.110.0230.04016.51
5.4.100.0200.05016.56
5.4.90.0170.04316.61
5.4.80.0230.05016.62
5.4.70.0230.06016.50
5.4.60.0230.04316.29
5.4.50.0170.03716.38
5.4.40.0170.04016.54
5.4.30.0270.06716.34
5.4.20.0330.06316.55
5.4.10.0300.05316.29
5.4.00.0300.03716.00
5.3.290.0270.03314.73
5.3.280.0230.05314.57
5.3.270.0200.05014.69
5.3.260.0200.04014.67
5.3.250.0200.06314.68
5.3.240.0270.05314.68
5.3.230.0270.07014.82
5.3.220.0130.04314.79
5.3.210.0230.05714.86
5.3.200.0130.05714.61
5.3.190.0230.06314.55
5.3.180.0330.06714.71
5.3.170.0370.06314.62
5.3.160.0200.05314.85
5.3.150.0330.04314.64
5.3.140.0130.04314.62
5.3.130.0270.06714.73
5.3.120.0270.07314.61
5.3.110.0170.05314.77
5.3.100.0300.04014.21
5.3.90.0200.07714.07
5.3.80.0270.05313.98
5.3.70.0200.04014.24
5.3.60.0200.06314.29
5.3.50.0270.06714.02
5.3.40.0270.06714.02
5.3.30.0200.06714.13
5.3.20.0230.07713.67
5.3.10.0170.07013.83
5.3.00.0200.07013.63
5.2.170.0200.05712.29
5.2.160.0200.04312.29
5.2.150.0200.03712.29
5.2.140.0200.06012.29
5.2.130.0200.06312.29
5.2.120.0200.04312.29
5.2.110.0230.05012.29
5.2.100.0330.03012.29
5.2.90.0270.05312.29
5.2.80.0270.05012.29
5.2.70.0300.05012.29
5.2.60.0230.04312.29
5.2.50.0230.05012.29
5.2.40.0200.04712.29
5.2.30.0200.03712.29
5.2.20.0300.05012.29
5.2.10.0270.03012.29
5.2.00.0170.04312.29
5.1.60.0030.04012.29
5.1.50.0200.05012.29
5.1.40.0130.05712.29
5.1.30.0130.04012.29
5.1.20.0270.04312.29
5.1.10.0100.04712.29
5.1.00.0170.03312.29
5.0.50.0070.04012.29
5.0.40.0130.04012.29
5.0.30.0100.03712.29
5.0.20.0100.04312.29
5.0.10.0070.03712.29
5.0.00.0130.06712.29
4.4.90.0130.02712.29
4.4.80.0030.03312.29
4.4.70.0070.04012.29
4.4.60.0200.02312.29
4.4.50.0100.03312.29
4.4.40.0100.05312.29
4.4.30.0100.03012.29
4.4.20.0070.03312.29
4.4.10.0100.02312.29
4.4.00.0100.04312.29
4.3.110.0130.03012.29
4.3.100.0100.03312.29
4.3.90.0170.01312.29
4.3.80.0100.05312.29
4.3.70.0100.02012.29
4.3.60.0100.02712.29
4.3.50.0070.02712.29
4.3.40.0030.05712.29
4.3.30.0030.03712.29
4.3.20.0070.03012.29
4.3.10.0030.03712.29
4.3.00.0070.03712.29

preferences:
35.8 ms | 401 KiB | 5 Q