<?php
//理解一
function table(){
echo '<table border="1" width="800" align="center">';
echo '<caption><h1>表格</h1></caption>';
for($i=0;$i<10;$i++){
$bg = ($i%2==0) ? "#cccccc" : "";
echo '<tr bgcolor="'.$bg.'">';
for($j=0;$j<10;$j++){
echo '<td>'.($i*10+$j).'</td>';
}
echo '</tr>';
}
echo '</table>';
}
//函数是已完成指定功能的已命名的代码块
//上面就是一个叫table的代码块,用function声明,说明这个是一个函数但是还没被使用和执行
//
//理解二
table();//在这上面也可以调用
function table(){
echo '<table border="1" width="800" align="center">';
echo '<caption><h1>表格</h1></caption>';
for($i=0;$i<10;$i++){
$bg = ($i%2==0) ? "#cccccc" : "";
echo '<tr bgcolor="'.$bg.'">';
for($j=0;$j<10;$j++){
echo '<td>'.($i*10+$j).'</td>';
}
echo '</tr>';
}
echo '</table>';
}
table();//这样就是在这里调用了上面的函数。不调用不显示。
//理解三,
//表格里的数值用变量代替,设置一个变量,让用户自己设置几行几列
table();
table();
function table(){
$rous=10;
$cols=10;
echo '<table border="1" width="800" align="center">';
echo '<caption><h1>表格</h1></caption>';
for($i=0;$i<$rous;$i++){
$bg = ($i%2==0) ? "#cccccc" : "";
echo '<tr bgcolor="'.$bg.'">';
for($j=0;$j<$cols;$j++){
echo '<td>'.($i*10+$j).'</td>';
}
echo '</tr>';
}
echo '</table>';
}
//理解四
//可以吧这个变量放在函数()里,然后在调用此函数的时候赋值,10正好赋值给$rows,10赋值给$cols
//两个table是两次调用每次都可以吧里面的值传给函数
//所以$rows和$cols这两个变量的值由你调用的人决定,调用的人的值传给这个函数的变量这个过程叫做传参
//声明函数时,提供的参数,叫形参(形式上的参数),调用的时候传的相应的值叫做实参。
table(10,10);//实参
table(5,5);
function table($rows,$cols){
echo '<table border="1" width="800" align="center">';
echo '<caption><h1>表格</h1></caption>';
for($i=0;$i<$rows;$i++){
$bg = ($i%2==0) ? "#cccccc" : "";
echo '<tr bgcolor="'.$bg.'">';
for($j=0;$j<$cols;$j++){
echo '<td>'.($i*10+$j).'</td>';
}
echo '</tr>';
}
echo '</table>';
}
//理解五
//参数让用户可以在调用函数的时候,改变函数内部的执行行为,从而达到用户自定义的执行效果
table("用户表",10,10,2,'red',1,800,'left');//实参
table("成绩表",50,5,3,'green',10,400,'right');
function table($tablename,$rows,$cols,$num,$color,$border,$width,$align){
echo '<table border="'.$border.'" width="'.$width.'" align="'.$align.'">';
echo '<caption><h1>表格</h1></caption>';
for($i=0;$i<$rows;$i++){
$bg = ($i%$num==0) ? $color : "";
echo '<tr bgcolor="'.$bg.'">';
for($j=0;$j<$cols;$j++){
echo '<td>'.($i*10+$j).'</td>';
}
echo '</tr>';
}
echo '</table>';
}
返回值(return)
下面这个函数我不仅仅想让他通过浏览器打印出来,还想存到文件里,数据库里去怎么办?
答:这样需要把打印的结果反馈给调用者,就需要返回值返回给调用者
table("用户表",10,10,2,'red',1,800,'left');//实参
table("成绩表",50,5,3,'green',10,400,'right');
function table($tablename,$rows,$cols,$num,$color,$border,$width,$align){
echo '<table border="'.$border.'" width="'.$width.'" align="'.$align.'">';
echo '<caption><h1>表格</h1></caption>';
for($i=0;$i<$rows;$i++){
$bg = ($i%$num==0) ? $color : "";
echo '<tr bgcolor="'.$bg.'">';
for($j=0;$j<$cols;$j++){
echo '<td>'.($i*10+$j).'</td>';
}
echo '</tr>';
}
echo '</table>';
}
table("用户表",10,10,2,'red',1,800,'left');//实参
table("成绩表",50,5,3,'green',10,400,'right');
function table($tablename,$rows,$cols,$num,$color,$border,$width,$align){
$str.= '<table border="'.$border.'" width="'.$width.'" align="'.$align.'">';
$str.= '<caption><h1>表格</h1></caption>';
for($i=0;$i<$rows;$i++){
$bg = ($i%$num==0) ? $color : "";
$str.= '<tr bgcolor="'.$bg.'">';
for($j=0;$j<$cols;$j++){
$str.= '<td>'.($i*10+$j).'</td>';
}
$str.= '</tr>';
}
$str.= '</table>';
return $str; //这样就把值返回给调用处了
}
//函数调用的就是这个返回值,如果吧return后面的改成5,return 5;那么echo table()就是5,这个值可以参与运算
//函数结束用return;因为返回了说明函数结束了
//函数名不能重复,也不能和系统函数重复
//function_exists()判断函数是否存在。这个很重要