本文給大家介紹一個比較好玩的PHP實現(xiàn),首先大家知道什么是Floyd三角形嗎?
不知道這個名詞也沒有關(guān)系,我們直接看下圖,就一目了然了:
Floyd三角形又叫弗洛伊德三角形是一系列的數(shù)字,如上圖所示,這些數(shù)字按順序分布在一系列的行上;第一行包含一個1,第二行包含2和3;下一行包含4、5和6…這些數(shù)字以這種模式無限延續(xù)產(chǎn)生一個直角三角形,并且數(shù)字以偶數(shù)間隔隔開。
下面我們就來編寫一個PHP程序,用來生成并顯示弗洛伊德三角形的前n行,也就是前幾行。
廢話不多說,代碼如下:
<?php $n = 6; echo "n = " . $n . "<br>"; $count = 1; for ($i = $n; $i > 0; $i--) { for ($j = $i; $j < $n + 1; $j++) { printf("%4s", $count); $count++; } echo "<br>"; }
生成結(jié)果是:
大家可以直接復(fù)制以上代碼在本地測試。
其實正確地編碼弗洛伊德三角形就是需要精通循環(huán)知識,這里主要運用到PHP中的for循環(huán),for 循環(huán)用于你預(yù)先知道腳本需要運行的次數(shù)的情況,其語法是:
for (初始值; 條件; 增量){ 要執(zhí)行的代碼;}
參數(shù)分別表示:
初始值:主要是初始化一個變量值,用于設(shè)置一個計數(shù)器(但可以是任何在循環(huán)的開始被執(zhí)行一次的代碼)。 條件:循環(huán)執(zhí)行的限制條件。如果為 TRUE,則循環(huán)繼續(xù)。如果為 FALSE,則循環(huán)結(jié)束。 增量:主要用于遞增計數(shù)器(但可以是任何在循環(huán)的結(jié)束被執(zhí)行的代碼)。
關(guān)于for循環(huán)的詳細(xì)介紹,大家可以閱讀PHP手冊中《PHP For 循環(huán)》章節(jié)。
最后給大家推薦一個咱們平臺的最新免費課程《從0開始進入PHP的世界》~快來學(xué)習(xí)吧!