一.编写函数change($str)实现字符串转换功能,例如“str_replace”转换成“str%replace”、“arr_var”转换成“arr%var”。
<?php
function change($str){
$a=str_replace('_','%',$str);
return $a;
}
echo change('str_replace');
?>
运行结果:
二.通过页面文本框提交的一个自然数N(1<N<9),根据N的值,打印对应行数的“*”金字塔。编写程序时,在demo.php文件中,写出PHP和表单设计代码(若N=4时,实现的金字塔效果如图)。
<form action="#” method="post'>
请输入打印*金字塔的行数:<input type="text" name="NUM" >
<input type="submit" name="button'value="提交">
</form>
<?php
$n=@$_POST['NUM']; //金字塔行数
for($i=1;$i<=$n;$i++){//在打印*之前,先打印空格
for($k=1;$k<=$n-$i;$k++){
echo " ";
}
//内层控制每层*的个数
for($j=1;$j<=2*$i-1;$j++){
echo"*";
}
echo "<br/>";
}
?>
三.定义一个自定义函数fun(),实现求绝对值的功能
<?php
function fun($a){
if($a>=0)
return $a;
else
return -$a;
}
echo fun(-4);
?>
运行结果:
四.编写函数,指定开始年份和结束年份,输出指定年份之间的闰年。
<?php
function year($start,$end){
for($i=$start;$i<=$end;$i++){
if($i%4==0&&$i%100!=0||$i%400==0)
echo $i.' ';
}
}
echo year(2000,2022);
?>
运行结果:
五.编写函数showTable($arr,$curPage=1,$page=5)显示表格,其中$arr是学生信息数组,初始值为$arr=array(array(1,"张三",16,"男”), array(2,"linda",18,"女”)....)(此代码可省略);实现如图效果:
<?php
$curPage=isset($_GET['curPage'])?$_GET['curPage']:1;//获取当前页码
showTable($arr,$curPage);//调用函数,显示表格数据
function showTable($arr,$curPage=1,$page=5){//定义函数,显示表格数据
$totalPage=ceil(count($arr)/$page);//总页数
$num=($curPage-1)*$page;//开始截取位置
$arr=array_slice($arr,$num,$page);//要显示的数据
$last=$curPage-1<1?1:$curPage-1; //获取上一页页码
$next=$curPage+1>$totalPage?$totalPage:$curPage+1; //获取下一页页码
echo "<table border=1><tr><th width=100>编号</th><th width=100>姓名</th><thwidth=100>年龄</th><th width=100>性别</th></tr>";
foreach($arr as $v){
echo "<tr>";
foreach($v as $vv){
echo "<td>$vv</td>";
}
echo "</tr>";
}
echo "</tr><tr >
<td colspan=4 algin=right>当前页:$curPage/$totalPage
首页<a href='?curPage=$last'>
上一页</a><a href='?curPage=$next'>
下一页</a><a href='?curPage=$totalPage'>
尾页</a></td></tr></table>";
}
?>
六.自定义一个函数sum(),利用循环结构实现:求出1-100之间(包括1和100)所有3的倍数的和.
<?php
function sum(){
$sum=0;
for($i=1;$i<=100;$i++){
if($i%3==0)
$sum+=$i;
}
return $sum;
}
echo sum();
?>