PHP几个算法整理-PHP冒泡-PHP二分法-PHP求素数-PHP乘法表

PHP几个算法整理-PHP冒泡-PHP二分法-PHP求素数-PHP乘法表

PHP几个算法整理 涉及到以下几个示例。

PHP冒泡

PHP二分法

PHP求素数

PHP乘法表

PHP冒泡法 代码示例:

//PHP冒泡 从小到大

function maopao(&$arr)

{

if(!empty($arr))

{

for($i=0;$i<count($arr);$i++)

{

if($arr[$i]>$arr[$j])

{

//开始交换

$temp = $arr[$i];

$arr[$i] = $arr[$j];

$arr[$j] = $temp;

}

}

}

return $arr;

}

}

php二分法查找 代码示例:

//二分法查找

function erfenfa($a,$arr)

{

print_r($arr);

if(!empty($a) && !empty($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输出乘法表-循环

function chengfa($a,$step)

{

if( !empty($a) && !empty($step) )

{

for($i=$a;$i<=$step;$i++)

{

for($j=1;$j<=$i;$j++)

{

echo $j.'*'.$i.'='.$i*$j."\t";

if($i==$j) echo '

';

}

}

}

}