3v4l.org

run code in 300+ PHP versions simultaneously
<?php $dbData = [ ["rate"=>'["1.55","1","1","1"]'], ["rate"=>'["2.55","2.55","2.55","2.55"]'], ["rate"=>'["1","1","1","1"]'], ["rate"=>'["1.55","2.55","3.55","4.56"]'] ]; $rate = array_map(function($a){ return json_decode($a['rate']); },$dbData); var_dump($rate); /* Replace by code above $rate = [ ["1.55","1","1","1"], ["2.55","2.55","2.55","2.55"], ["1","1","1","1"], ["1.2","1.21","1.2","1.2"] ]; */ $results =[]; // Count the columns in the first row for ($i = 0; $i<sizeof ($rate[0]); $i++) { // Extract each column in turn $col = array_column($rate, $i); // Calculate and store the averages $results[]= array_sum($col)/count($col); } var_dump($results);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
array(4) { [0]=> array(4) { [0]=> string(4) "1.55" [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(1) "1" } [1]=> array(4) { [0]=> string(4) "2.55" [1]=> string(4) "2.55" [2]=> string(4) "2.55" [3]=> string(4) "2.55" } [2]=> array(4) { [0]=> string(1) "1" [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(1) "1" } [3]=> array(4) { [0]=> string(4) "1.55" [1]=> string(4) "2.55" [2]=> string(4) "3.55" [3]=> string(4) "4.56" } } array(4) { [0]=> float(1.6624999999999999) [1]=> float(1.775) [2]=> float(2.025) [3]=> float(2.2775) }
Output for 7.4.0 - 7.4.33
array(4) { [0]=> array(4) { [0]=> string(4) "1.55" [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(1) "1" } [1]=> array(4) { [0]=> string(4) "2.55" [1]=> string(4) "2.55" [2]=> string(4) "2.55" [3]=> string(4) "2.55" } [2]=> array(4) { [0]=> string(1) "1" [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(1) "1" } [3]=> array(4) { [0]=> string(4) "1.55" [1]=> string(4) "2.55" [2]=> string(4) "3.55" [3]=> string(4) "4.56" } } array(4) { [0]=> float(1.6625) [1]=> float(1.775) [2]=> float(2.025) [3]=> float(2.2775) }

preferences:
114.01 ms | 409 KiB | 5 Q