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 " *&nbsp;";
       }
      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 '*&nbsp;';
       }
       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);
  */
    

   

 ?>

上一篇:LNMP编译安装及论坛搭建


下一篇:二十、LNMP与虚拟主机配置