例子,php打印杨辉三角。
 
<?php
/**
 * 打印杨辉三角:
 * 1
 * 1 1
 * 1 2 1
 * 1 3 3  1
 * 1 4 6  4  1
 * 1 5 10 10 5  1
 * 1 6 15 20 15 6 1
 *
 */
function yang_hui_san_jiao($n)
{
 $arr=array(1); //$arr记录上一行的元素
$return_html='<table>'; //定义一个变量,记录输出的html
 //外循环控制行数
 for($i=1;$i<=$n;$i++)
 {
  $return_html.='<tr>';
  //内循环控制改行元素的个数
  for($j=1;$j<=$i;$j++)
  {
   //改行的第一个 和 最后一个元素 始终是1
   if($j==1 || $j==$i)
   {
    $new_arr[$j]=1;  // 定义一个新数组$new_arr,记录当前行的元素,
    $return_html.='<td>1</td>';
   }
   else   
   {
    //否则,该元素等于上一行的 相同角标 和 角标-1 两个元素的和
    $new_number=$arr[$j]+$arr[$j-1]; 
    $new_arr[$j]=$new_number;  //将元素赋给新数组
    $return_html.='<td>'.$new_number.'</td>';
   }
  }
$arr=$new_arr; //把当前行的数组赋给$arr,开始新一轮的循环
  $return_html.='</tr>';
 }
$return_html.='</table>';
 return $return_html;
}
//调用函数测试 杨辉三角
echo yang_hui_san_jiao(10);
?>