在這篇《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視頻教程》~快來學習吧!