PHP题目

一.编写函数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();
?>

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值