在這篇《PHP算法練習八:判斷給定的三個數(shù)是否能構(gòu)成直角三角形》中給大家介紹了怎么判斷給定的三個數(shù)是否能構(gòu)成直角三角形,今天繼續(xù)開始算法練習系列內(nèi)容~
本文的中心的問題“編寫一個PHP程序,從給定的整數(shù)數(shù)組中創(chuàng)建新數(shù)組,將所有偶數(shù)移到所有奇數(shù)之前”。
先給大家介紹下偶數(shù)和奇數(shù)的概念:
-
偶數(shù)是可以被2所整除的整數(shù)。正偶數(shù)也被稱雙數(shù)。如果某數(shù)是2的倍數(shù),那么它就是偶數(shù),可以表示為2n;如果不是,它就是奇數(shù),可表示為2n+1(n為整數(shù)),即奇數(shù)除以二的余數(shù)是一。
-
奇數(shù)(odd)就是指不能被2整除的整數(shù) ,數(shù)學表達形式為:2k+1, 奇數(shù)還可以分為正奇數(shù)和負奇數(shù)。
下面就開始正題~
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 "新數(shù)組: " . implode(',', $result);
輸出結(jié)果是:
新數(shù)組: 2,4,6,3,5,1,5,9,11
可以看到偶數(shù)都在奇數(shù)前面。
我們給的原始數(shù)組內(nèi)容是[1, 2, 5, 3, 5, 4, 6, 9, 11]
,然后通過計算“$numbers[$i] % 2
”結(jié)果是否等于0,也是判斷奇數(shù)偶數(shù)的關(guān)鍵公式,然后判斷出奇數(shù)偶數(shù),再進行調(diào)換位置就行了。
至于新數(shù)組則用implode()
函數(shù)把數(shù)組元素組合為字符串輸出即可。
implode()
函數(shù)的作用就是返回由數(shù)組元素組合成的字符串。
最后給大家推薦最新最全面的《PHP視頻教程》~快來學習吧!