The customer's requirement is to display the Excel data corresponding to the Excel score and age on the results page. Analysis of solution ideas: ordinate score 1-72, abscissa age 5.

customer demand is to display the Excel data corresponding to the scores and ages of Excel on the result page

solution idea analysis:

ordinate score 1-72, abscissa age 5.5-64

data is not continuous, writing if, else judgment requires 72x23, some can be merged, probably still 100+ if else

Another way of thinking, it is two-dimensional array anyway. Just parse the excel data into a two-dimensional array, directly paste and copy it into notepad, use\n Split into one level by newline, and split into two-level array with spaces.

code is as follows:

 $str = "5454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 62555454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 6256555454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 625860555454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 62606058555454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 62626260585554 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 6265646260585454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 626865646360555454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 62706665656256555454 54 54 54 54 54 54 54 54 54 54 54 54 54 62736766666458565554 54 54 54 54 54 54 54 54 54 54 54 54 54 6275686868656058565454 54 54 54 54 54 54 54 54 54 54 54 54 6280696969666160585554 54 54 54 54 54 54 54 54 54 54 54 54 6285707070666261595654 54 54 54 54 54 54 54 54 54 54 54 54 6290757573676361605754 54 54 54 54 54 54 54 54 54 54 54 54 6292808075676462605854 54 54 54 54 54 54 54 54 54 54 54 54 6595858576686562615954 54 54 54 54 54 54 54 54 54 54 54 54679888867768666361605454 54 54 54 54 54 54 54 54 54 54 5868100 90867869686462605554 54 54 54 54 54 54 54 54 54 54 6469102 9287787070646261555454 54 54 54 54 54 54 54 54 546670104 9487797171656262565554 54 54 54 54 54 54 54 54 586770105 958880727165636256555454 54 54 54 54 54 54 54 646971106 100 9185757366646457575754 54 54 54 54 54 54 62687273110 103 9286787366656558585854 54 54 54 54 54 54 64697374112 105 9386807467666559595954 54 54 54 54 54 54 65707375115 106 9387817467666560606054 54 54 54 54 54 5467717476116 108 9488827567666661606154 54 54 54 54 54 5868727577118 110 9589837668666662616254 54 54 54 54 54 6269737678120 111 9590837868676662626254 54 54 54 54 546470747779123 112 9691848068676763636354 54 54 54 54 586570757780125 113 9792858169676763646454 54 54 54 54 626771767881126 114 9893868269676764646454 54 54 54 54646872777981127 115 9894888370686865656554 54 54 54 58676973778082128 116 9995908371686865656554 54 54 54 62697074788183129 117 100 96918471686866666654 54 54 54 64707175798284130 117 101 96928572696966666654 54 54 54 65717277798385133 118 102 97938672696967666654 54 54 5467727378808585135 119 103 98938773696967676754 54545869737479808586135+120 103 9894887470706867675455586270747580818686135+122 104 9995887573726868685862626371767681828687135+123 105 106 100 98897876757069696365656773787983858789135+125 108 103 99908077767169696567676974798084858990135+126 109 105 100 918277767170706769697075808285869091135+127 110 106 101 938478777271716870707176838386869192135+128 112 108 102 948579787271717071717277858587879293135+129 115 110 103 959080797372727172727378868688899394135+130 120 112 104 969283807372727273737479878890909495135+131 124 114 105 979485827473737374747580889090919596135+132 125 115 106 989590847574737475757682899191919698135+134 126 120 108 999691858074737576767783909292929799135+135 128 122 110 100 98938682757476777778859193939398100135+135+130 124 115 103 99948784767478797979869395959599101135+135+135 125 116 105 100 9589857875808080818794979797100 102135+135+135+126 118 106 102 9690907978818282848896989898101 103135+135+135+128 119 108 104 989292808082858586909899100 100 102 104135+135+135+130 120 110 105 99949485858386878892100 100 101 101 103 105135+135+135+132 123 112 106 100 959590888688899094101 102 102 102 104 107135+135+135+133 125 114 107 103 989895908890919296102 103 103 103 106 109135+135+135+134 130 115 108 105 100 100 98959191939598104 105 105 106 107 110135+135+135+135 132 120 110 110 105 103 100 9694949597100 106 108 108 108 109 112135+135+135+135+134 125 115 115 103 105 103 98979798100 102 108 110 110 110 110 114135+135+135+135+135 124 120 120 110 108 105 100 100 100 100 101 105 110 112 112 112 112 116135+135+135+135+135+130 125 122 113 110 108 105 102 102 102 103 108 112 113 113 113 114 117135+135+135+135+135+135 130 124 115 115 110 110 106 106 106 107 110 114 115 115 116 117 118135+135+135+135+135+135+125 120 120 115 115 108 108 108 109 113 118 118 119 119 119 120135+135+135+135+135+135+135 130 125 125 120 120 114 114 114 115 116 120 120 121 121 121 123135+135+135+135+135+135+135+135 130 130 125 125 116 116 116 117 119 124 124 124 125 125 127135+135+135+135+135+135+135+135+135 135 130 130 122 122 122 123 123 127 127 128 130 130 132135+135+135+135+135+135+135+135+135+135+133 133 128 128 128 128 129 129 132 132 133 133 133135+135+135+135+135+135+135+135+135+135+135 135 135+135+135+135+135+135+135+135+135+135+135+";$arr = explode("\n",$str);$arr = array_filter($arr);$arr = array_values($arr);foreach($arr as &$val){$arr2 = explode(" ",$val);$arr2 = array_filter($arr2);$arr2 = array_values($arr2);$val = $arr2;}

The second step, because the abscissa has an interval, 40-44 is considered a key, you need to write this part of the logic separately

if($age = 5.5){$age_key=0;}elseif($age = 6.5){$age_key=1;}elseif($age = 7.5){$age_key=2;}elseif($age = 8.5){$age_key=3;}elseif($age = 9.5){$age_key=4;}elseif($age = 10.5){$age_key=5;}elseif($age = 11.5){$age_key=6;}elseif($age = 12.5){$age_key=7;}elseif($age = 13.5){$age_key=8;}elseif($age = 14.5){$age_key=9;}elseif($age = 15.5){$age_key=10;}elseif($age = 16.5){$age_key=11;}elseif($age = 17.5){$age_key=12;}elseif($age = 18.5){$age_key=13;}elseif($age 18.5 &&$age = 24){$age_key=14;}elseif($age = 25 &&$age = 29){$age_key=15;}elseif($age = 30 &&$age = 34){$age_key=16;}elseif($age = 35 &&$age = 39){$age_key=17;}elseif($age = 40 &&$age = 44){$age_key=18;}elseif($age = 45 &&$age = 49){$age_key=19;}elseif($age = 50 &&$age = 54){$age_key=20;}elseif($age = 55 &&$age = 59){$age_key=21;}else{//if($age = 60 &&$age = 64)$age_key=22;}

Finally test and check, the score may be greater than 72, the key is out of bounds, so limit it to

 $score 72? $score=72:"";

final version

private function getZhishang($score,$age){$str = "5454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 62555454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 6256555454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 625860555454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 62606058555454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 62626260585554 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 6265646260585454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 626865646360555454 54 54 54 54 54 54 54 54 54 54 54 54 54 54 62706665656256555454 54 54 54 54 54 54 54 54 54 54 54 54 54 62736766666458565554 54 54 54 54 54 54 54 54 54 54 54 54 54 6275686868656058565454 54 54 54 54 54 54 54 54 54 54 54 54 6280696969666160585554 54 54 54 54 54 54 54 54 54 54 54 54 6285707070666261595654 54 54 54 54 54 54 54 54 54 54 54 54 6290757573676361605754 54 54 54 54 54 54 54 54 54 54 54 54 6292808075676462605854 54 54 54 54 54 54 54 54 54 54 54 54 6595858576686562615954 54 54 54 54 54 54 54 54 54 54 54 54679888867768666361605454 54 54 54 54 54 54 54 54 54 54 5868100 90867869686462605554 54 54 54 54 54 54 54 54 54 54 6469102 9287787070646261555454 54 54 54 54 54 54 54 54 546670104 9487797171656262565554 54 54 54 54 54 54 54 54 586770105 958880727165636256555454 54 54 54 54 54 54 54 646971106 100 9185757366646457575754 54 54 54 54 54 54 62687273110 103 9286787366656558585854 54 54 54 54 54 54 64697374112 105 9386807467666559595954 54 54 54 54 54 54 65707375115 106 9387817467666560606054 54 54 54 54 54 5467717476116 108 9488827567666661606154 54 54 54 54 54 5868727577118 110 9589837668666662616254 54 54 54 54 54 6269737678120 111 9590837868676662626254 54 54 54 54 546470747779123 112 9691848068676763636354 54 54 54 54 586570757780125 113 9792858169676763646454 54 54 54 54 626771767881126 114 9893868269676764646454 54 54 54 54646872777981127 115 9894888370686865656554 54 54 54 58676973778082128 116 9995908371686865656554 54 54 54 62697074788183129 117 100 96918471686866666654 54 54 54 64707175798284130 117 101 96928572696966666654 54 54 54 65717277798385133 118 102 97938672696967666654 54 54 5467727378808585135 119 103 98938773696967676754 54545869737479808586135+120 103 9894887470706867675455586270747580818686135+122 104 9995887573726868685862626371767681828687135+123 105 106 100 98897876757069696365656773787983858789135+125 108 103 99908077767169696567676974798084858990135+126 109 105 100 918277767170706769697075808285869091135+127 110 106 101 938478777271716870707176838386869192135+128 112 108 102 948579787271717071717277858587879293135+129 115 110 103 959080797372727172727378868688899394135+130 120 112 104 969283807372727273737479878890909495135+131 124 114 105 979485827473737374747580889090919596135+132 125 115 106 989590847574737475757682899191919698135+134 126 120 108 999691858074737576767783909292929799135+135 128 122 110 100 98938682757476777778859193939398100135+135+130 124 115 103 99948784767478797979869395959599101135+135+135 125 116 105 100 9589857875808080818794979797100 102135+135+135+126 118 106 102 9690907978818282848896989898101 103135+135+135+128 119 108 104 989292808082858586909899100 100 102 104135+135+135+130 120 110 105 99949485858386878892100 100 101 101 103 105135+135+135+132 123 112 106 100 959590888688899094101 102 102 102 104 107135+135+135+133 125 114 107 103 989895908890919296102 103 103 103 106 109135+135+135+134 130 115 108 105 100 100 98959191939598104 105 105 106 107 110135+135+135+135 132 120 110 110 105 103 100 9694949597100 106 108 108 108 109 112135+135+135+135+134 125 115 115 103 105 103 98979798100 102 108 110 110 110 110 114135+135+135+135+135 124 120 120 110 108 105 100 100 100 100 101 105 110 112 112 112 112 116135+135+135+135+135+130 125 122 113 110 108 105 102 102 102 103 108 112 113 113 113 114 117135+135+135+135+135+135 130 124 115 115 110 110 106 106 106 107 110 114 115 115 116 117 118135+135+135+135+135+135+125 120 120 115 115 108 108 108 109 113 118 118 119 119 119 120135+135+135+135+135+135+135 130 125 125 120 120 114 114 114 115 116 120 120 121 121 121 123135+135+135+135+135+135+135+135 130 130 125 125 116 116 116 117 119 124 124 124 125 125 127135+135+135+135+135+135+135+135+135 135 130 130 122 122 122 123 123 127 127 128 130 130 132135+135+135+135+135+135+135+135+135+135+133 133 128 128 128 128 129 129 132 132 133 133 133135+135+135+135+135+135+135+135+135+135+135 135 135+135+135+135+135+135+135+135+135+135+135+";$arr = explode("\n",$str);$arr = array_filter($arr);$arr = array_values($arr);foreach($arr as &$val){$arr2 = explode(" ",$val);$arr2 = array_filter($arr2);$arr2 = array_values($arr2);$val = $arr2;}if($age = 5.5){$age_key=0;}elseif($age = 6.5){$age_key=1;}elseif($age = 7.5){$age_key=2;}elseif($age = 8.5){$age_key=3;}elseif($age = 9.5){$age_key=4;}elseif($age = 10.5){$age_key=5;}elseif($age = 11.5){$age_key=6;}elseif($age = 12.5){$age_key=7;}elseif($age = 13.5){$age_key=8;}elseif($age = 14.5){$age_key=9;}elseif($age = 15.5){$age_key=10;}elseif($age = 16.5){$age_key=11;}elseif($age = 17.5){$age_key=12;}elseif($age = 18.5){$age_key=13;}elseif($age 18.5 &&$age = 24){$age_key=14;}elseif($age = 25 &&$age = 29){$age_key=15;}elseif($age = 30 &&$age = 34){$age_key=16;}elseif($age = 35 &&$age = 39){$age_key=17;}elseif($age = 40 &&$age = 44){$age_key=18;}elseif($age = 45 &&$age = 49){$age_key=19;}elseif($age = 50 &&$age = 54){$age_key=20;}elseif($age = 55 &&$age = 59){$age_key=21;}else{//if($age = 60 &&$age = 64)$age_key=22;}$score 72 ? $score=72:"";return $arr[$score-1][$age_key]; }

final running result