亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    PHP數(shù)組學(xué)習(xí)之比較數(shù)組元素,獲取第一大和第二大值

    在之前的文章中我們介紹了使用冒泡算法對(duì)數(shù)組元素進(jìn)行升序排序的方法,感興趣的可以點(diǎn)擊鏈接進(jìn)行查閱→《PHP數(shù)組學(xué)習(xí)之使用冒泡算法對(duì)元素進(jìn)行升序排序!》。這次我們繼續(xù)PHP數(shù)組學(xué)習(xí)系列,介紹一下比較數(shù)組元素,獲取第一大和第二大值的方法。

    本文的主題是:“給出一組數(shù)字,計(jì)算出它的最大值和第二大值”。

    實(shí)現(xiàn)思路:使用數(shù)組來包裹這一組數(shù)字,因而這里會(huì)涉及到了比較數(shù)組元素的大小

    設(shè)置兩個(gè)變量$max$secMax,用于存放獲取到的最大值和第二大值。不過需要先給大家賦初值,將數(shù)組第一個(gè)元素和第二個(gè)元素賦給它們。但要保證$max$secMax大,所以要做一個(gè)判斷

    if ($arr[0] > $arr[1]){//這個(gè)if是為了防止出現(xiàn)數(shù)組第一個(gè)值就是最大值         $secMax = $arr[1];     } else if ($arr[0] < $arr[1]){         $max = $arr[1];     }

    然后使用for循環(huán),不斷遍歷$arr數(shù)組?!静欢目梢蚤喿x文章《PHP循環(huán)學(xué)習(xí)三:如何使用for循環(huán)語句遍歷數(shù)組》】

    for ($i = 0;$i< count($arr);$i++){   //循環(huán)數(shù)組    //循環(huán)體 }

    在循環(huán)體中,不斷將$max$secMax與數(shù)組每個(gè)值($arr[$i])比較:

    • 如果$arr[$i]$max大,則將$max值賦給$secMax,把$arr[$i]賦給$max,

    if ($arr[$i] > $max){     $secMax = $max;     $max = $arr[$i]; }
    • 而如果 $arr[$i] 小于 $max,但 $arr[$i] 又大于 $secMax,則只交換 $secMax$arr[$i] 間的值 ,將$arr[$i]復(fù)制給$secMax。

    if ($arr[$i] < $max && $arr[$i] > $secMax){       $secMax = $arr[$i]; }

    這樣不斷比較下去,就可以確保$max存放著數(shù)組最大值,$secMax存放著數(shù)組第二大值。

    我們來看看完整的實(shí)現(xiàn)代碼:

    function takeNum($arr){ 	//定義了兩個(gè)變量$max和$secMax來存放最大和第二大的數(shù)值     $max = 0;     $secMax = 0;     if ($arr[0] > $arr[1]){//這個(gè)if是為了防止出現(xiàn)數(shù)組第一個(gè)值就是最大值         $secMax = $arr[1];     } else if ($arr[0] < $arr[1]){         $max = $arr[1];     }     for ($i = 0;$i< count($arr);$i++){//循環(huán)數(shù)組         if ($arr[$i] > $max){             $secMax = $max;             $max = $arr[$i];         } else if ($arr[$i] < $max && $arr[$i] > $secMax){             $secMax = $arr[$i];         }     }     echo "最大值為".$max.",第二大值為".$secMax; }

    測試一下:定義了下面一個(gè)數(shù)組,調(diào)用takeNum($arr)函數(shù)來看看輸出情況

    $arr = array(555,5,1,429,18,21,52,2,52,9,3,); takeNum($arr);

    可以看出第一大值為555,第二大值為429;看看輸出結(jié)果是不是這個(gè):

    PHP數(shù)組學(xué)習(xí)之比較數(shù)組元素,獲取第一大和第二大值

    OK,輸出結(jié)果是正確的。

    接下來我們來聊聊使用到的知識(shí)點(diǎn),循環(huán)就不必多說了(可以閱讀文章《PHP循環(huán)學(xué)習(xí)系列大匯總》),下面給大家簡單介紹一下if else 語句。

    if else 語句是流程控制中根據(jù)條件判斷執(zhí)行的一種。該語句執(zhí)行時(shí)先對(duì)條件進(jìn)行判斷,然后根據(jù)判斷結(jié)果做出相應(yīng)的操作。它又可以細(xì)分為三種,分別是 if 語句、if…else 語句、if…else if…else 語句。

    if 語句的語法:

    if (判斷條件) {     語句塊; }

    if…else 語句的語法:

    if (判斷條件) {     語句塊 1; } else {     語句塊 2; }

    if…else if…else 語句的語法:

    if (判斷條件 1) {     語句塊 1; } else if (判斷條件 2) {     語句塊 2; } else if (判斷條件 3) {     語句塊 3; } ......

    好了就說到這里了,有其他想知道的,可以點(diǎn)擊這個(gè)哦?!?→php視頻教程

    最后給大家推薦一個(gè)PHP數(shù)組的免費(fèi)視頻教程:PHP函數(shù)之a(chǎn)rray數(shù)組函數(shù)視頻講解,快來學(xué)習(xí)吧!

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)