လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP တွင် Max () function နှင့် multi-detsension ည့်သည်ခင်းကျင်းခြင်းအတွက်မည်သည့်အကြံဥာဏ်များကို အသုံးပြု. အဘယ်သို့နည်း။ အဲဒါကိုဘယ်လိုအောင်မြင်နိုင်မလဲ။

PHP တွင် Max () function နှင့် multi-detsension ည့်သည်ခင်းကျင်းခြင်းအတွက်မည်သည့်အကြံဥာဏ်များကို အသုံးပြု. အဘယ်သို့နည်း။ အဲဒါကိုဘယ်လိုအောင်မြင်နိုင်မလဲ။

gitbox 2025-06-16

1 ။ အခြေခံ max ကို () function ကိုသုံးပါ

ပထမ ဦး စွာ Max () function ကို၏အခြေခံအသုံးပြုမှုကိုပြန်လည်သုံးသပ်ကြပါစို့။ ၎င်းသည် Array တစ်ခုသို့မဟုတ်တစ်ခုချင်းစီတန်ဖိုးများကို parameters များအဖြစ်လက်ခံရရှိနိုင်ပြီး၎င်းတို့အနက်အများဆုံးတန်ဖိုးကိုပြန်ပို့သည်။ ဥပမာအားဖြင့်:

 <span><span><span class="hljs-variable">$values</span></span><span> = [</span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">20</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>, </span><span><span class="hljs-number">40</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>];
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">max</span></span><span>(</span><span><span class="hljs-variable">$values</span></span><span>);  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း 50</span></span><span>
</span></span>

ဤလုပ်ဆောင်မှုသည် parameter အမြောက်များစွာကိုထောက်ပံ့ပေးပြီး parameter သည်သီးခြားတန်ဖိုးတစ်ခုအဖြစ်နှိုင်းယှဉ်ထားသည်။ ဥပမာအားဖြင့်:

 <span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">max</span></span><span>(</span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">20</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>, </span><span><span class="hljs-number">40</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>);  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း 50</span></span><span>
</span></span>

ရိုးရှင်းသောခင်းကျင်းတည်ဆောက်ပုံအတွက် max () function ကိုအသုံးပြုရန်အလွန်ရိုးရှင်းပါသည်။ သို့သော် Array များသည်ပိုမိုရှုပ်ထွေးလာသောအခါအထူးသဖြင့်ဘာသာစကားအမျိုးမျိုးရှိသည့်အရေးပါသောအခြေအနေများကွဲပြားခြားနားလိမ့်မည်။


2 ။ multidimensimensional array အတွက် max ကို () function ကိုသုံးပါ

Multiens-dimensenal array များတွင် max () function ကိုပုံမှန်အားဖြင့်ပြင်ပခင်းကျင်းသော element များကိုသာကိုင်တွယ်နိုင်သည်။ Multidimensional Array အတွင်းအမြင့်ဆုံးတန်ဖိုးကိုကျွန်ုပ်တို့ရှာဖွေလိုပါကနောက်ထပ်အပြောင်းအလဲနဲ့နည်းလမ်းအချို့ကိုအားထားရန်လိုအပ်သည်။ ဤတွင်အနည်းငယ်ဘုံအကြံဥာဏ်များဖြစ်ကြသည်။

2.1 ပေါင်းစပ်ရန် Array_map နှင့် max ကိုသုံးပါ

ကျွန်ုပ်တို့တွင်ရှုထောင့်အမျိုးမျိုး ရှိ. ခင်းကျင်းမှု၏ subarry တစ်ခုစီတွင်နံပါတ်အချို့ပါရှိသည်ဆိုပါစို့။ subarray တစ်ခုချင်းစီတွင်အများဆုံးတန်ဖိုးကိုရလိုပါကကျွန်ုပ်တို့သည် subarray ကို array_map () function ကိုဖြတ်ပြီး subarray တစ်ခုချင်းစီကိုပထမ ဦး စွာလျှောက်ထားနိုင်ပြီးအများဆုံးတန်ဖိုးကိုရှာဖွေရန် max () ကိုသုံးနိုင်သည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-variable">$array</span></span><span> = [
    [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>],
    [</span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">6</span></span><span>],
    [</span><span><span class="hljs-number">7</span></span><span>, </span><span><span class="hljs-number">8</span></span><span>, </span><span><span class="hljs-number">9</span></span><span>]
];

</span><span><span class="hljs-comment">// တစ်ခုချင်းစီကို subarray ၏အများဆုံးတန်ဖိုးကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$max_values</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(</span><span><span class="hljs-string">'max'</span></span><span>, </span><span><span class="hljs-variable">$array</span></span><span>);

</span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း每个子数组的最大အဘိုး</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$max_values</span></span><span>);  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း [3, 6, 9]</span></span><span>

</span><span><span class="hljs-comment">// အများဆုံးတန်ဖိုးကိုရယူပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">max</span></span><span>(</span><span><span class="hljs-variable">$max_values</span></span><span>);  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း 9</span></span><span>
</span></span>

ဤဥပမာတွင် array_map ('max', $ array) သည် subarray တစ်ခုချင်းစီတွင်အများဆုံးတန်ဖိုးကိုရရှိရန် Subarray တစ်ခုချင်းစီအတွက် max (') function ကိုအသုံးပြုလိမ့်မည်။ ထို့နောက်အများဆုံးအများဆုံးတန်ဖိုးများကိုရရှိရန် max () function ကိုသုံးပါ။

2.2 ပေါင်းစပ်ရန် array_column နှင့် max ကိုသုံးပါ

တစ်ခါတစ်ရံတွင် Multidimensional Array တွင်အချက်အလက်များသည်တွဲဖက်ခင်းကျင်းမှုတစ်ခုဖြစ်ပြီး subarray တစ်ခုစီတွင်သီးခြားသော့ (ဥပမာ "ရမှတ်) ၏တန်ဖိုးအမြင့်ဆုံးတန်ဖိုးကိုရှာဖွေလိုသည်။ ဤကိစ္စတွင် array_colum () သည်အလွန်အသုံးဝင်သည်။ ၎င်းသည် Multidimensional Array တွင် subarrays အားလုံး၏သတ်မှတ်ထားသောကော်လံကိုထုတ်ယူပြီး Max () function ကို တွဲဖက်. သုံးပါ။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-variable">$array</span></span><span> = [
    [</span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Alice'</span></span><span>, </span><span><span class="hljs-string">'score'</span></span><span> =&gt; </span><span><span class="hljs-number">85</span></span><span>],
    [</span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Bob'</span></span><span>, </span><span><span class="hljs-string">'score'</span></span><span> =&gt; </span><span><span class="hljs-number">90</span></span><span>],
    [</span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Charlie'</span></span><span>, </span><span><span class="hljs-string">'score'</span></span><span> =&gt; </span><span><span class="hljs-number">92</span></span><span>]
];

</span><span><span class="hljs-comment">// ကျောင်းသားအားလုံးကိုထုတ်ယူပါ &#39;scoreအဘိုး</span></span><span>
</span><span><span class="hljs-variable">$scores</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_column</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>, </span><span><span class="hljs-string">'score'</span></span><span>);

</span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း所有学生的分数</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$scores</span></span><span>);  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း [85, 90, 92]</span></span><span>

</span><span><span class="hljs-comment">// အများဆုံးရမှတ်ရယူပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">max</span></span><span>(</span><span><span class="hljs-variable">$scores</span></span><span>);  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း 92</span></span><span>
</span></span>

ဤဥပမာတွင် array_column ($ array, 'ရမှတ်') သည် ကျောင်းသားများအားလုံးအတွက်ရမှတ်များကိုထုတ်ယူပြီးအများဆုံးရမှတ်ကိုရှာဖွေရန် Max () function ကိုအသုံးပြုသည်။

2.3 အသိုက် multi- ရှုထောင် array ၏အများဆုံးတန်ဖိုး

အကယ်. ခင်းကျင်းမှု၏အသိုက်အဆင့်သည်ပိုမိုနက်ရှိုင်းပါက၎င်းကိုကိုင်တွယ်ရန် recursive နည်းလမ်းများကိုသုံးနိုင်သည်။ ပြန်လည်ပြုပြင်ခြင်းလုပ်ဆောင်ချက်များကို Multiens-dacrasenal array များမှတဆင့်ဆက်သွယ်ရန်နှင့်အများဆုံးတန်ဖိုးကိုရှာတွေ့နိုင်သည်။ ဤတွင် recursive method ကိုဥပမာတစ်ခု၏ဥပမာတစ်ခုဖြစ်သည်။

 <span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">getMaxValue</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$array</span></span></span><span>) {
    </span><span><span class="hljs-variable">$max</span></span><span> = PHP_INT_MIN;  </span><span><span class="hljs-comment">// 设置一个初始အဘိုး</span></span><span>

    </span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$array</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>) {
        </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_array</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>)) {
            </span><span><span class="hljs-comment">// 如果အဘိုး是一个数组,ထို့နောက် remursiven ကိုခေါ်ပါ</span></span><span>
            </span><span><span class="hljs-variable">$max</span></span><span> = </span><span><span class="hljs-title function_ invoke__">max</span></span><span>(</span><span><span class="hljs-variable">$max</span></span><span>, </span><span><span class="hljs-title function_ invoke__">getMaxValue</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>));
        } </span><span><span class="hljs-keyword">else</span></span><span> {
            </span><span><span class="hljs-comment">// 否则直接与当前最大အဘိုး比较</span></span><span>
            </span><span><span class="hljs-variable">$max</span></span><span> = </span><span><span class="hljs-title function_ invoke__">max</span></span><span>(</span><span><span class="hljs-variable">$max</span></span><span>, </span><span><span class="hljs-variable">$value</span></span><span>);
        }
    }

    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$max</span></span><span>;
}

</span><span><span class="hljs-variable">$array</span></span><span> = [
    [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, [</span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>]],
    [</span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">6</span></span><span>, [</span><span><span class="hljs-number">7</span></span><span>, </span><span><span class="hljs-number">8</span></span><span>]],
    </span><span><span class="hljs-number">9</span></span><span>
];

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">getMaxValue</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း 9</span></span><span>
</span></span>

ဤနည်းလမ်းသည်ခင်းကျင်းသည့်အလွှာတစ်ခုစီကိုဖြတ်သန်းသွားသည်။ အကယ်. လက်ရှိတန်ဖိုးသည်ခင်းကျင်းနေပါက၎င်းသည်ဆက်လက်နှိုင်းယှဉ်ရန်လာမည့်အလွှာသို့သွားသည်, အကယ်. ၎င်းသည်ဂဏန်းတန်ဖိုးတစ်ခုဖြစ်ပါက၎င်းကိုလက်ရှိတန်ဖိုးနှင့်နှိုင်းယှဉ်ထားသည်။ နောက်ဆုံးအနေဖြင့် Multidimensional Array တစ်ခုလုံးအတွက်အများဆုံးတန်ဖိုးကိုပြန်ပို့သည်။