3v4l.org

run code in 300+ PHP versions simultaneously
<?php /* Groups passed arrays in an array of associative arrays with same keys and values * * @example $array1 = array( array('a'=>'val1'),array('a'=>'val2') ); * $array2 = array( array('b'=>'val3'),array('b'=>'val4') ); * $array3 = array( array('c'=>'val5'),array(),array('c'=>'val6') ); * multiArrayCombine( $array1, $array2, $array3 ); * return: array * ( * 0 => array('a'=>'val1','b'=>'val3','c'=>'val5'), * 1 => array('a'=>'val2','b'=>'val4'), * 2 => array('c'=>'val6') * ) * * @param array $array1[, $array2[, $array3...]] * * @option const T_OBJECT_CAST cast returned assoc arrays as stdObject * * @return array */ function multiArrayCombine() { /* Get all passed parameters and T_OBJECT_CAST option: */ $args = func_get_args(); $asObject = ( T_OBJECT_CAST == end($args) ); if( $asObject ) array_pop( $args ); $retval = array(); # Init array to be returned /* Retrieve highest passed arrays key: */ $max = 0; foreach( $args as $array ) $max = max( $max, max( array_keys($array) ) ); /* Loop for each arrays key: */ for( $i=0; $i<=$max; $i++ ) { /* Init associative array to add: */ $add = array(); /* Process actual key ($i) of each passed array: */ foreach( $args as $array ) { /* If the key ($i) exists, add each passed array: */ if( isset($array[$i]) AND is_array($array[$i]) ) { foreach( $array[$i] as $key => $val ) { $add[$key] = $val; } } } /* Add the obtained associative array to return array */ if( $asObject ) $retval[] = (object) $add; else $retval[] = $add; } return $retval; } $array1 = array( array('accordion_title'=>'Title 1'),array('accordion_title'=>'Title 2') ); $array2 = array( array('accordion_content'=>'Content 1'),array('accordion_content'=>'Content 2') ); $array3 = array( array('accordion_date'=>'Date 1'),array(),array('accordion_date'=>'Date 3') ); print_r( multiArrayCombine( $array1, $array2, $array3 ) );

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.4.140.0130.00717.59
8.4.130.0080.01317.55
8.4.120.0110.00920.70
8.4.110.0120.00818.87
8.4.100.0100.00917.84
8.4.90.0130.00420.51
8.4.80.0120.00818.90
8.4.70.0140.00520.81
8.4.60.0130.00720.53
8.4.50.0090.00718.72
8.4.40.0100.00919.66
8.4.30.0130.00619.02
8.4.20.0130.00619.63
8.4.10.0030.01722.04
8.3.270.0120.00816.41
8.3.260.0090.01116.36
8.3.250.0130.00618.91
8.3.240.0060.00316.83
8.3.230.0050.00316.68
8.3.220.0120.00718.80
8.3.210.0060.00218.54
8.3.200.0040.00716.83
8.3.190.0130.00916.86
8.3.180.0100.00819.02
8.3.170.0070.01017.36
8.3.160.0070.01118.70
8.3.150.0080.01116.45
8.3.140.0000.01816.56
8.3.130.0090.01218.43
8.3.120.0040.00419.09
8.3.110.0100.00720.94
8.3.100.0060.00324.06
8.3.90.0030.00526.77
8.3.80.0060.00318.55
8.3.70.0090.00918.43
8.3.60.0040.01118.55
8.3.50.0090.00616.62
8.3.40.0070.00723.71
8.3.30.0000.01418.89
8.3.20.0000.00824.18
8.3.10.0030.00624.66
8.3.00.0050.00326.16
8.2.290.0040.00816.52
8.2.280.0110.00818.19
8.2.270.0140.00718.30
8.2.260.0150.00017.41
8.2.250.0030.00516.63
8.2.240.0050.00318.71
8.2.230.0110.01122.58
8.2.220.0070.00337.54
8.2.210.0050.00326.77
8.2.200.0050.00516.38
8.2.190.0120.00916.59
8.2.180.0110.01116.38
8.2.170.0110.00418.95
8.2.160.0100.00322.96
8.2.150.0030.00525.66
8.2.140.0090.00624.66
8.2.130.0080.00026.16
8.2.120.0040.00426.16
8.2.110.0030.00622.26
8.2.100.0120.00018.09
8.2.90.0040.00419.19
8.2.80.0030.00518.05
8.2.70.0080.00017.59
8.2.60.0050.00317.50
8.2.50.0050.00317.63
8.2.40.0040.00417.63
8.2.30.0050.00517.80
8.2.20.0040.00417.57
8.2.10.0100.00317.62
8.2.00.0110.00317.69
8.1.330.0120.00715.94
8.1.320.0150.00517.85
8.1.310.0110.00418.46
8.1.300.0040.01120.34
8.1.290.0040.00730.84
8.1.280.0060.00925.92
8.1.270.0000.00724.66
8.1.260.0040.00426.35
8.1.250.0040.00428.09
8.1.240.0030.00623.92
8.1.230.0060.00619.18
8.1.220.0030.00617.77
8.1.210.0040.00418.77
8.1.200.0070.00317.48
8.1.190.0030.00517.35
8.1.180.0030.00518.10
8.1.170.0080.00017.62
8.1.160.0000.00917.35
8.1.150.0130.00317.45
8.1.140.0110.00417.37
8.1.130.0070.00717.38
8.1.120.0100.00517.36
8.1.110.0100.00717.55
8.1.100.0140.00217.39
8.1.90.0160.00017.37
8.1.80.0000.01517.46
8.1.70.0120.00517.40
8.1.60.0200.00017.53
8.1.50.0140.00517.52
8.1.40.0110.00717.57
8.1.30.0150.00317.46
8.1.20.0090.00917.47
8.1.10.0130.00417.49
8.1.00.0060.01217.48
8.0.300.0000.00918.77
8.0.290.0070.00017.05
8.0.280.0090.00316.73
8.0.270.0110.00516.76
8.0.260.0140.00016.80
8.0.250.0150.00016.88
8.0.240.0100.00016.77
8.0.230.0110.00416.73
8.0.220.0050.01016.73
8.0.210.0120.00416.73
8.0.200.0030.01216.77
8.0.190.0110.00416.77
8.0.180.0110.00416.73
8.0.170.0120.00016.81
8.0.160.0020.00716.73
8.0.150.0060.00316.73
8.0.140.0060.00616.75
8.0.130.0060.00316.73
8.0.120.0090.00316.73
8.0.110.0070.00416.73
8.0.100.0140.00016.74
8.0.90.0140.00216.73
8.0.80.0110.00416.73
8.0.70.0120.00216.73
8.0.60.0110.00416.73
8.0.50.0120.00216.73
8.0.30.0150.00016.73
8.0.20.0150.00016.81
8.0.10.0100.00516.79

preferences:
74.14 ms | 403 KiB | 5 Q