在这篇《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视频教程》~快来学习吧!