在這篇《PHP演算法練習八:判斷給定的三個數是否能構成直角三角形》中給大家介紹了怎麼判斷給定的三個數是否能構成直角三角形,今天繼續開始演算法練習系列內容~
本文的中心的問題「編寫一個PHP程序,從給定的整數數組中創建新數組,將所有偶數移到所有奇數之前」。
先跟大家介紹下偶數和奇數的概念:
#偶數是可以被2整除的整數。正偶數也稱為雙數。如果某數是2的倍數,那麼它就是偶數,可以表示為2n;如果不是,它就是奇數,可表示為2n 1(n為整數),即奇數除以二的餘數是一。
奇數(odd)就是指不能被2整除的整數 ,數學表達式形式為:2k 1, 奇數還可以分成正奇數和負奇數。
下面就開始正題~
PHP程式碼如下:
<?php function test($numbers) { $index = 0; for ($i = 0; $i < sizeof($numbers); $i++) { if ($numbers[$i] % 2 == 0) { $temp = $numbers[$index]; $numbers[$index] = $numbers[$i]; $numbers[$i] = $temp; $index++; } } return $numbers; } $result = test([1, 2, 5, 3, 5, 4, 6, 9, 11] ); echo "新数组: " . implode(',', $result);
輸出結果是:
新数组: 2,4,6,3,5,1,5,9,11
可以看到偶數都在奇數前面。
我們給的原始陣列內容是[1, 2, 5, 3, 5, 4, 6, 9, 11]
,然後透過計算「$ numbers[$i] % 2
」結果是否等於0,也是判斷奇數偶數的關鍵公式,然後判斷出奇數偶數,再進行調換位置就行了。
至於新陣列則用implode()
函數把陣列元素組合為字串輸出即可。
implode()
函數的作用就是傳回由陣列元素組合成的字串。
最後推薦給大家最新、最全面的《PHP影片教學》~快來學習吧!
以上是PHP演算法練習九:將全部偶數轉到全部奇數之前的詳細內容。更多資訊請關注PHP中文網其他相關文章!