首页 > 代码库 > php学习测试题目
php学习测试题目
<?php
header("content-type:text/html;charset=utf-8");
/*
1.银行给客户每天万分之四的利率,本金100万,存入10年;收入多少()
$money = 1000000;//固定值
for($i = 1 ;$i<3650;$i++){
$money += $money*0.0004;
}
echo $money;
*/
/*
2.求出1-100所有的素数
for($i = 1;$i < 100;$i++){
假设$is_sushu是真
$is_sushu = true;//设定一个参数flg
for($j = 2;$j < $i-1;$j++){
if(($i%$j) == 0){
$is_sushu = false;
}
}
if($is_sushu){
echo $i.‘<br/>‘;
}
}
*/
/*
3.求出1-1000内所用的水仙花数(3位)
for($i = 100 ;$i <= 1000;$i++){
取出百位,十位,个位
$b = (int)($i/100);
$s = (int)(($i-$b*100)/10);
$g = $i - $b*100 - $s*10;
$res = pow($b,3)+pow($s,3)+pow($g,3);
if($res == $i){
echo $i.‘是水仙花数‘.‘<br/>‘;
}
}
*/
/*
4.输出一个阶乘 //n!=1*2*3*...*n
function jc($num){
$res = 1;//设定一个固定值
for($i=1;$i<=$num;$i++){
$res *= $i;
}
return $res;
}
echo jc(4);
//递归函数 计算阶乘(面试时会考到)
function nnn1($num1){
//用if判断用或(||),用&&(and)找不到0/1就无限循环
if(($num1==0)||($num1==1)){
//return是使用在多次使用的条件下使用.
//echo是只显示在文件中,不是调用
return 1;
}else{
return $num1*nnn1($num1-1);//使用自身判断
}
}
echo nnn1(6);
*/
/*
5.写出一个函数,实现交换目的,用地址传值
function swap(&$a,&$b){
$c = ‘‘;
$c = $a;
$a = $b;
$b = $c;
}
$a = 25;
$b = 35;
swap($a,$b);
echo ‘$a是:‘.$a.‘<br>‘;
echo ‘$b是:‘.$b;
*/
/*
6.输出一个金字塔用函数,层数为3
for ($i=0;$i<5;$i++){
for ($j=0;$j<=$i;$j++){
echo " *";
}
echo "<br>";
}
echo ‘<hr/>‘;
for ($i=0;$i<5;$i++){
for ($j=0;$j<=$i;$j++){
echo " * ";
}
echo "<br>";
}
echo ‘<br/>‘;
for ($i=0;$i<5;$i++){
for($k=5;$k>$i;$k--){
echo ‘-‘;
}
for ($j=0;$j<=$i;$j++){
echo " *";
}
echo "<br>";
}
echo ‘<br/>‘;
for($i=5;$i>0;$i--){
for($j=5-$i;$j>0;$j--){
echo ‘*‘;
}
echo ‘<br/>‘;
}
echo ‘<hr/>‘;
for($i=5;$i>0;$i--){
for($j=5-$i;$j>0;$j--){
echo ‘* ‘;
}
echo ‘<br/>‘;
}
echo ‘<hr/>‘;
*/
/*
7.生成1-100用range(),并输出前50个奇数,后50个偶数(用指针)
$arr = range(1, 100);
echo ‘<pre>‘;
print_r($arr);
for ($i=1; $i < 100; $i++) {
if ($i<=50) {
echo $i*2-1;
}else{
echo ($i-50)*2;
}
echo ‘<br>‘;
}
*/
/*
8.生成一副扑克,打乱发牌,输出三个人的牌及地主牌《用数组》
//1.输出扑克牌
$arr = array(2,3,4,5,6,7,8,9,10,‘A‘,‘J‘,‘Q‘,‘K‘);
//count获取数组长度从1开始
// 下标是从0开始
var_dump($arr);
$color = array(‘红心‘,‘黑桃‘,‘方块‘,‘梅花‘);
$poker[] = ‘POKER‘;
$poker[] = ‘poker‘;
for ($i=0; $i <count($color) ; $i++) {
for ($j=1; $j <=13 ; $j++) {
switch ($j) {
case ‘1‘:
$poker[]=$color[$i].‘A‘;
break;
case ‘1‘:
$poker[]=$color[$i].‘J‘;
break;
case ‘1‘:
$poker[]=$color[$i].‘Q‘;
break;
case ‘1‘:
$poker[]=$color[$i].‘K‘;
break;
default:
$poker[]=$color[$i].$j;
break;
}
}
}
echo ‘<pre>‘;
var_dump($poker).‘<br/>‘;
*/
/*
9.《用数组》
生成一副麻将
麻将花色:
字牌:
东西南北中发白 *4
条张:*4
1-9
筒张:*4
1-9
万张:*4
1-9
花牌视为不存在
72+36+28=
72+64=136
$hua = array(‘筒‘,‘条‘,‘万‘);
$zi = array(‘东风‘,‘西风‘,‘南风‘,‘北风‘,‘红中‘,‘发财‘,‘白板‘);
$card = array();
//所有牌都是4张
for ($i=0; $i < 4; $i++) {
//三种花色循环
for ($j=0; $j < count($hua); $j++) {
//九张牌循环
for ($k = 1; $k <= 9 ; $k++) {
$card[] = change($k).$hua[$j];
}
}
//字循环
for ($j=0; $j < count($zi) ; $j++) {
$card[] = $zi[$j];
}
}
//阿拉伯数字转换
function change($num){
switch ($num) {
case 1:
return ‘一‘;
case 2:
return ‘二‘;
case 3:
return ‘三‘;
case 4:
return ‘四‘;
case 5:
return ‘五‘;
case 6:
return ‘六‘;
case 7:
return ‘七‘;
case 8:
return ‘八‘;
case 9:
return ‘九‘;
}
}
echo ‘<pre>‘;
var_dump($card);
*/
/*
10.使用循环和随机数算法.生成一个10个元素的数组.每个数组中放置随机的6位随机字母+数字
下标为偶数
输出每个元素的前三位.
下标为奇数
输出后三位
使用 substr
addRand(6,10);
function addRand($kind,$len){
$a = range(‘a‘,‘z‘);
$b = range(0, 9);
$c = array_merge($a,$b);
switch ($kind) {
#纯数字
case 1:
for ($i=0; $i < $len; $i++) {
shuffle($b);
echo $b[0];
}
break;
case 2:
for ($i=0; $i < $len; $i++) {
shuffle($a);
echo $a[0];
}
break;
case 3:
for ($i=0; $i < $len; $i++) {
shuffle($c);
echo $c[0];
}
break;
default:
echo ‘你搞毛啊‘;
break;
}
}
*/
/*
11.使用循环生成一串字符串,
1,2,3,4....100;
然后使用explode()函数将其分割成数组.
$a = ‘ ‘;
//使用for循环生成字符串
for ($i=1; $i <=100 ; $i++) {
//.是连接符
$a.=$i.‘,‘;
}
//输出循环结果
echo $a;
//以逗号为分隔符,切割字符串转换为数组
$b = explode(‘,‘, $a);
array_pop($b);
//段落显示数组结果
echo ‘<pre>‘;
var_dump($b);
*/
?>
php学习测试题目