站长资讯网
最全最丰富的资讯网站

PHP算法练习九:将全部偶数转到全部奇数之前

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

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号