範例一:
職等職級十進位晉等,使用下列方式,就可以簡單取得最高的等級。
<?php //郭靖 七等5級 $level['郭靖'] = 7.5; //黃蓉 七等9級 $level['黃蓉'] = 7.9; //楊過 五等3級 $level['楊過'] = 5.3; $max = max($level); foreach ($level as $name => $lv){ if ($max == $lv){ echo $name; break; } } ?>輸出結果:
黃蓉(正確)
範例二:
假設把"黃蓉"的等級變為七等11級,採用一樣的方式取值,取得的值就會錯誤,因為7.5大於7.11,但依職等來說,七等11級比七等5級高。
<?php //郭靖 七等5級 $level['郭靖'] = 7.5; //黃蓉 七等11級 $level['黃蓉'] = 7.11; //楊過 五等3級 $level['楊過'] = 5.3; $max = max($level); foreach ($level as $name => $lv){ if ($max == $lv){ echo $name; break; } } ?>輸出結果:
郭靖(錯誤!最高的應該是"黃蓉")
範例三;
所以如果是非十進位晉等規則,這個是候就要改使用下列這個方式,才能正確取得最高職等人員。
<?php //郭靖 七等5級 $level['郭靖'] = array(7, 5); //黃蓉 七等11級 $level['黃蓉'] = array(7, 11); //楊過 五等3級 $level['楊過'] = array(5, 3); $max = max($level); foreach ($level as $name => $lv){ if ($max == $lv){ echo $name; break; } } ?>輸出結果:
黃蓉(正確)
注意到了嗎?運用max()函式會對陣列做遞迴比較的特性,就可以很容易的取得最高等級的人員了。