PHP测试题目
1 <?php 2 3 //字体编码格式UTF-8 4 header("content-type:text/html;charset=utf-8"); 5 6 1.银行给客户每天万分之四的利率,本金100万,存入10年;收入多少() 7 $money = 1000000;//固定值 8 for($i = 1 ;$i<3650;$i++){ 9 $money += $money*0.0004; 10 } 11 echo $money; 12 13 ?> 14 <?php 15 /* 2.求出1-100所有的素数*/ 16 for($i = 1;$i < 100;$i++){ 17 假设$is_sushu是真 18 $is_sushu = true;//设定一个参数flg 19 for($j = 2;$j < $i-1;$j++){ 20 if(($i%$j) == 0){ 21 $is_sushu = false; 22 } 23 } 24 if($is_sushu){ 25 echo $i.'<br/>'; 26 } 27 } 28 ?>
<?php /* 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/>'; } } ?>
1 <?php 2 /* 3.求出1-1000内所用的水仙花数(3位) */ 3 for($i = 100 ;$i <= 1000;$i++){ 4 5 取出百位,十位,个位 6 7 $b = (int)($i/100); 8 $s = (int)(($i-$b*100)/10); 9 $g = $i - $b*100 - $s*10; 10 $res = pow($b,3)+pow($s,3)+pow($g,3); 11 if($res == $i){ 12 echo $i.'是水仙花数'.'<br/>'; 13 } 14 } 15 ?>
1 <?php 2 //4.输出一个阶乘 n!= 1*2*3...*n 3 function jc($num){ 4 $res = 1;//设定一个固定值 5 for($i =1;$i<=$num;$i++){ 6 $res*=$i; 7 } 8 return $res; 9 } 10 echo jc(4); 11 12 //递归函数 计算阶乘(面试时会考到) 13 function nnn1($num1){ 14 //用if判断用或(||),用&&(and)找不到0/1就无限循环 15 if(($num1==0)||($num1==1)){ 16 //return是使用在多次使用的条件下使用. 17 //echo是只显示在文件中,不是调用 18 return 1; 19 }else{ 20 return $num1*nnn1($num1-1);//使用自身判断 21 } 22 23 } 24 25 echo nnn1(6);
1 <?php 2 3 /* 5.写出一个函数,实现交换目的,用地址传值 */ 4 function swap(&$a,&$b){ 5 $c = ''; 6 $c = $a; 7 $a = $b;
1 <?php 2 //7.生成1-100用range(),并输出前50个奇数,后50个偶数(用指针) 3 $arr = range(1, 100); 4 echo '<pre>'; 5 print_r($arr); 6 7 8 for ($i=1; $i < 100; $i++) { 9 if ($i<=50) { 10 echo $i*2-1; 11 }else{ 12 echo ($i-50)*2; 13 } 14 echo '<br>'; 15 } 16 ?>
1 <?php 2 //8.生成一副扑克,打乱发牌,输出三个人的牌及地主牌《用数组》 3 //1.输出扑克牌 4 $arr = array(2,3,4,5,6,7,8,9,10,'A','J','Q','K'); 5 //count获取数组长度从1开始 6 // 下标是从0开始 7 var_dump($arr); 8 $color = array('红心','黑桃','方块','梅花'); 9 $poker[] = 'POKER'; 10 $poker[] = 'poker'; 11 for ($i=0; $i <count($color) ; $i++) { 12 for ($j=1; $j <=13 ; $j++) { 13 14 switch ($j) { 15 case '1': 16 $poker[]=$color[$i].'A'; 17 break; 18 case '1': 19 $poker[]=$color[$i].'J'; 20 break;
1 <?php 2 /* 9.《用数组》 3 生成一副麻将 4 5 麻将花色: 6 字牌: 7 东西南北中发白 *4 8 9 条张:*4 10 1-9 11 12 筒张:*4 13 1-9 14 15 万张:*4 16 1-9 17 18 花牌视为不存在 19 72+36+28= 20 72+64=136 21 */ 22 23 $hua = array('筒','条','万'); 24 $zi = array('东风','西风','南风','北风','红中','发财','白板'); 25 $card = array(); 26 27 //所有牌都是4张 28 for ($i=0; $i < 4; $i++) { 29 30 //三种花色循环 31 for ($j=0; $j < count($hua); $j++) { 32 33 //九张牌循环 34 for ($k = 1; $k <= 9 ; $k++) { 35 36 $card[] = change($k).$hua[$j]; 37 } 38 } 39 40 //字循环 41 for ($j=0; $j < count($zi) ; $j++) { 42 $card[] = $zi[$j]; 43 } 44 } 45 46 //阿拉伯数字转换 47 function change($num){ 48 49 switch ($num) { 50 case 1: 51 return '一'; 52 53 case 2: 54 return '二'; 55 56 case 3: 57 return '三'; 58 59 case 4: 60 return '四'; 61 62 case 5: 63 return '五'; 64 65 case 6: 66 return '六'; 67 68 case 7: 69 return '七'; 70 71 case 8: 72 return '八'; 73 74 case 9:
1 <?php 2 /*10.使用循环和随机数算法.生成一个10个元素的数组.每个数组中放置随机的6位随机字母+数字 3 下标为偶数 4 输出每个元素的前三位. 5 下标为奇数 6 输出后三位 7 使用 substr 8 */ 9 10 addRand(6,10); 11 12 13 14 function addRand($kind,$len){ 15 16 $a = range('a','z'); 17 $b = range(0, 9); 18 $c = array_merge($a,$b); 19 20 21 switch ($kind) { 22 #纯数字 23 case 1: 24 25 for ($i=0; $i < $len; $i++) { 26 shuffle($b); 27 echo $b[0]; 28 } 29 30 break; 31 32 case 2: 33 34 for ($i=0; $i < $len; $i++) { 35 shuffle($a); 36 echo $a[0]; 37 } 38 39 break; 40 41 case 3: 42 43 for ($i=0; $i < $len; $i++) { 44 shuffle($c); 45 echo $c[0]; 46 } 47 48 break; 49 50 default: 51 echo '你搞毛啊'; 52 break; 53 } 54 55 56 57 58 59 60 } 61 62 ?> 63 <?php 64 /* 11.使用循环生成一串字符串, 65 1,2,3,4....100; 66 然后使用explode()函数将其分割成数组. 67 */ 68 $a = ' '; 69 //使用for循环生成字符串 70 for ($i=1; $i <=100 ; $i++) { 71 //.是连接符 72 $a.=$i.','; 73 } 74 75 //输出循环结果 76 echo $a; 77 //以逗号为分隔符,切割字符串转换为数组 78 $b = explode(',', $a); 79 array_pop($b); 80 //段落显示数组结果 81 echo '<pre>'; 82 var_dump($b); 83 84 85 ?>
76 77 } 78 79 } 80 81 82 echo '<pre>'; 83 var_dump($card); 84 85 ?>
21 case '1': 22 $poker[]=$color[$i].'Q'; 23 break; 24 case '1': 25 $poker[]=$color[$i].'K'; 26 break; 27 28 default: 29 $poker[]=$color[$i].$j; 30 break; 31 } 32 33 } 34 } 35 echo '<pre>'; 36 var_dump($poker).'<br/>'; 37 ?>
8 $b = $c; 9 } 10 $a = 25; 11 $b = 35; 12 swap($a,$b); 13 echo '$a是:'.$a.'<br>'; 14 echo '$b是:'.$b; 15 ?>
1 <?php 2 /* 6.输出一个金字塔用函数,层数为3 */ 3 for ($i=0;$i<5;$i++){ 4 for ($j=0;$j<=$i;$j++){ 5 echo " *"; 6 } 7 echo "<br>"; 8 } 9 echo '<hr/>'; 10 for ($i=0;$i<5;$i++){ 11 for ($j=0;$j<=$i;$j++){ 12 echo " * "; 13 } 14 echo "<br>"; 15 } 16 echo '<br/>'; 17 18 for ($i=0;$i<5;$i++){ 19 for($k=5;$k>$i;$k--){ 20 echo '-'; 21 } 22 for ($j=0;$j<=$i;$j++){ 23 echo " *"; 24 } 25 echo "<br>"; 26 } 27 echo '<br/>'; 28 for($i=5;$i>0;$i--){ 29 for($j=5-$i;$j>0;$j--){ 30 echo '*'; 31 } 32 echo '<br/>'; 33 } 34 echo '<hr/>'; 35 for($i=5;$i>0;$i--){ 36 for($j=5-$i;$j>0;$j--){ 37 echo '* '; 38 } 39 echo '<br/>'; 40 } 41 echo '<hr/>'; 42 ?>