有趣的php例項,PHP的一些有趣的演算法

2021-10-25 21:42:51 字數 2297 閱讀 1002

1、首先來畫個菱形玩玩,很多人學c時在書上都畫過,咱們用php畫下,畫了一半。 思路:多少行for一次,然後在裡面空格和星號for一次。

for($i=0;$i<=3;$i++)1

2、氣泡排序,c裡基礎演算法,從小到大對一組數排序。 思路:這題從小到大,第一輪排最小,第二輪排第二小,第三輪排第三小,依次類推……

$arr = array(3, 2, 1);

$n = count($arr); //每迴圈一次,就跑一趟後面的排序

for($j=0; $j

//對後面沒排好的,迴圈查詢出最大(最小)的,進行一趟排序

for($i=$j; $i

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

$t = $arr[$j];

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

$arr[$i+1] = $t;

print_r($arr);1

3、楊輝三角,用php寫。 思路:每一行的第一位和最後一位是1,沒有變化,中間是前排一位與左邊一排的和,這種演算法是用乙個二維陣列儲存,另外有種演算法用一維陣列也可以實現,一行一行的輸出,有興趣去寫著玩下。

1 11 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

//每行的第乙個和最後乙個都為1,寫了6行

for($i=0; $i<6; $i++)

$a[$i][0]=1;

$a[$i][$i]=1;

//出除了第一位和最後一位的值,儲存在陣列中

for($i=2; $i<6; $i++)

for($j=1; $j

$a[$i][$j] = $a[$i-1][$j-1]+$a[$i-1][$j];

//列印

for($i=0; $i<6; $i++)

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

echo $a[$i][$j].' ';

echo '

';}1

4、在一組數中,要求插入乙個數,按其原來順序插入,維護原來排序方式。 思路:找到比要插入數大的那個位置,替換,然後把後面的數後移一位。

$in = 2;

$arr = array(1,1,1,3,5,7);

$n = count($arr);

//如果要插入的數已經最大,直接列印

if($arr[$n-1] < $in)

$arr[$n+1] = $in; print_r($arr);

for($i=0; $i

//找出要插入的位置

if($arr[$i] >= $in)

$t1= $arr[$i];

$arr[$i] = $in;

//把後面的資料後移一位

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

$t2 = $arr[$j];

$arr[$j] = $t1;

$t1 = $t2;

//列印

print_r($arr);

die;

}15、對一組數進行排序(快速排序演算法)。 思路:通過一趟排序分成兩部分,然後遞迴對這兩部分排序,最後合併。

function q($array) else elseif ($k < $array[$mid])else //test

$array = array(2,4,3,5);

$n = count($array);

$r = find($array,0,$n,1

7、合併多個陣列,不用array_merge(),題目來於論壇。 思路:遍歷每個陣列,重新組成乙個新陣列。

function t() else {

die('not a array!');

return $r;

//test print_r(t(range(1,4),range(1,4),range(1,4)));

echo '

';$a = array_merge(range(1,4),range(1,4),range(1,4));

print_r($a);1

8、牛年求牛:有一母牛,到4歲可生育,每年一頭,所生均是一樣的母牛,到15歲絕育,不再能生,20歲死亡,問n年後有多少頭牛。

function t($n) {

static $num = 1

for($j=1; $j<=$n; $j++){

if($j>=4 && $j<15) {

$num++;t($n-$j);

if($j==20){

$num--;

return $num;

//test

echo t(8);1

php 一些神奇加有趣的函式

返回陣列維數 層級 author echo param array arr return int function getarrlv arr ma array 從行首匹配 空白 至第乙個左括號,要使用多行開關 m preg match all s m print r arr,true ma 轉字串長...

一些有趣的函式

split 函式是用來處理字串的,遍歷字串,當遇到某一標誌時則將字串分割成列表。例如 s jhdj dkdskd s dskdh sdsdk sdksd skd sds kd sd s1 s.split 標誌設定為空格執行結果 jhdj dkdskd s dskdh sdsdk sdksd skd ...

一些PHP經驗

先查詢php.ini find name php.ini 得出兩個ini usr local php etc php.ini etc php.ini php i grep php.ini 檢視php載入的是哪個配置檔案,這個獲取的是系統內的php.ini 的位置。不是網頁apache載入的php.i...