PHP几个算法整理 涉及到以下几个示例。
PHP冒泡法 示例
//PHP 冒泡 从小到大
$a=array(3,2,4,9,8);
function getOrder ($a)
{
$count = count($a);
for ($i=0;$i<$count;$i++)
{
for ($j=$count-1;$j>0;$j--)
{
if ($a[$j] > $a[$j-1])
{
$temp = $a[$j];
$a[$j] = $a[$j-1];
$a[$j-1] = $temp;
}
}
}
return $a;
}
$a = getOrder($a);
php二分法查找 代码示例
//php 二分法查找
function erfenfa($a,$arr)
{
print_r($arr);
if(!emptyempty($a) && !emptyempty($arr))
{
$start = 0;
$end = count($arr)-1;
$i = 0;
while($start <= $end) {
$i ++;
$step = floor($end / 2);
if($a == $arr[$step])
{
print_r($arr[$step]);
return $a;
}
if($a > $arr[$step])
{
$start = $step;
}
if($a < $arr[$step])
{
$end = $step;
}
}
}
}
php求素数 – 计算 a 到 b 之间的素数。
//php求素数 - 计算 a 到 b 之间的素数。
function sushu($a,$b)
{
if(!empty($a) && !empty($b))
{
if($b<$a) return;
$temp = array();
for($i=$a;$i<=$b;$i++)
{
$j = intval(sqrt($i));
$flag = true;
if($i<=3)
{
$temp[$i] = $i;
}else
{
for($x=2;$x<=$j;$x++)
{
if($i%$x==0)
{
$flag = false;
break;
}
}
if($flag)
{
$temp[$i] = $i;
}
}
}
return $temp;
}
}
PHP输出乘法表-递归 代码示例
//PHP输出乘法表-递归
function digui($a,$step)
{
if($a > $step) return;
if( !empty($a) && !empty($step) )
{
for($i=1;$i<=$a;$i++)
{
echo $i.'*'.$a.'='.$a*$i."\t";
if($i == $a ) echo '
';
}
$a = $a + 1;
digui($a,$step);
}
}
PHP几个算法整理-PHP冒泡-PHP二分法-PHP求素数-PHP乘法表:等您坐沙发呢!