zoukankan      html  css  js  c++  java
  • php笔试题摘录

    1. 写出如下程序的输出结果
    复制代码
     1 <?php
     2 $str1 = null;
     3 $str2 = false;
     4 echo $str1==$str2 ? '相等' : '不相等';  //相等
     5 $str3 = '';
     6 $str4 = 0;
     7 echo $str3==$str4 ? '相等' : '不相等';  //相等
     8 $str5 = 0;
     9 $str6 = '0';
    10 echo $str5===$str6 ? '相等' : '不相等';  //不相等
    11 ?>
    复制代码
    2. 写出如下程序的输出结果
    复制代码
     1 <?php
     2 $a1 = null;
     3 $a2 = false;
     4 $a3 = 0;
     5 $a4 = '';
     6 $a5 = '0';
     7 $a6 = 'null';
     8 $a7 = array();
     9 $a8 = array(array());
    10 echo empty($a1) ? 'true' : 'false';  //true
    11 echo empty($a2) ? 'true' : 'false';  //true
    12 echo empty($a3) ? 'true' : 'false';  //true
    13 echo empty($a4) ? 'true' : 'false';  //true
    14 echo empty($a5) ? 'true' : 'false';  //true
    15 echo empty($a6) ? 'true' : 'false';  //false
    16 echo empty($a7) ? 'true' : 'false';  //true
    17 echo empty($a8) ? 'true' : 'false';  //false
    18 ?>
    复制代码
    3. 写出如下程序的输出结果
    1 <?php
    2 $test = 'aaaaaa';
    3 $abc = & $test;
    4 unset($test);
    5 echo $abc;  //aaaaaa
    6 ?>
    4. 写出如下程序的输出结果
    复制代码
     1 <?php
     2 $count = 5;
     3 function get_count(){
     4   static $count = 0;
     5   return $count++;
     6 }
     7 echo $count;  //5
     8 ++$count;
     9 echo get_count();  //0
    10 echo get_count();  //1
    11 ?>
    复制代码
    5. 写出如下程序的输出结果
    复制代码
     1 <?php
     2 $GLOBALS['var1'] = 5;
     3 $var2 = 1;
     4 function get(){
     5   global $var2;
     6   $var1 = 0;
     7   return $var2++;
     8 }
     9 get();
    10 echo $var1; //5
    11 echo $var2; //2
    12 ?>
    复制代码
    6. 写出如下程序的输出结果
    复制代码
     1 <?php
     2 function get_arr($arr) {
     3   unset($arr[0]);
     4 }
     5 $arr1 = array(1, 2);
     6 $arr2 = array(1, 2);
     7 get_arr(&$arr1);
     8 get_arr($arr2);
     9 echo count($arr1);  //1
    10 echo count($arr2);  //2
    11 ?>
    复制代码
    7. 使用五种以上方式获取一个文件的扩展名
    要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,
    必须使用PHP自带的处理函数进行处理,方法不能明显重复,可以封装成函数
    复制代码
    <?php
    $file='dir/upload.image.jpg';
    //方法1
    $a=pathinfo($file);
    echo $a['extension'];
    //方法2
    echo substr($file,strrpos($file,'.')+1);
    //方法3
    echo array_pop(explode('.',$file));
    //方法4
    echo preg_replace('/(.)*\.{1}/ix','',$file);
    //方法5
    echo strrchr($file,'.');
    //方法6
    echo strrev(substr(strrev($file),0,strpos(strrev($file),'.')));
    ?>
    复制代码
    8. 使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组
    复制代码
     1 <?php
     2 //冒牌排序
     3 $array=array(3,45,2,21,5,2);
     4 $max=count($array);
     5 for($i=0;$i<$max;$i++){
     6   for($j=$i+1;$j<$max;$j++){
     7     if($array[$i]>$array[$j]){
     8       $temp=$array[$i];
     9       $array[$i]=$array[$j];
    10       $array[$j]=$temp;
    11     }
    12   }
    13 }
    14 var_dump($array);
    15 //快速排序
    16 function quick_sort($array){
    17   if (count($array) <= 1) return $array;
    18   $key = $array[0];
    19   $max=count($array);
    20   $left_arr = array();
    21   $right_arr = array();
    22   for ($i=1; $i<$max; $i++) {
    23     if ($array[$i] <= $key){
    24       $left_arr[] = $array[$i];
    25     }else{
    26       $right_arr[] = $array[$i];
    27     }
    28   }
    29   $left_arr = quick_sort($left_arr);
    30   $right_arr = quick_sort($right_arr);
    31   return array_merge($left_arr, array($key), $right_arr);
    32 }
    33 var_dump(quick_sort($array));
    34 ?>
    复制代码
    9. 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组
    复制代码
     1 <?php
     2 //顺序查找
     3 $array=array(1,2,5,21,45);
     4 $str=45;
     5 function seq_sch($array,$str){
     6   $max=count($array);
     7   for($i=0;$i<$max;$i++){
     8     if($str == $array[$i]) break;
     9   }
    10   return $i<$max?$i:'';
    11 }
    12 echo seq_sch($array,$str);;
    13 //二分查找
    14 function bin_sch($array,$k,$min,$max){
    15   if ($min <= $max){
    16     $mid = intval(($min+$max)/2);
    17     if ($array[$mid] == $k){
    18       return $mid;
    19     }elseif ($k < $array[$mid]){
    20       return bin_sch($array,$k,$min,$mid-1);
    21     }else{
    22       return bin_sch($array,$k,$mid+1,$max);
    23   }
    24 }
    25   return '';
    26 }
    27 echo bin_sch($array,$str,0,count($array));
    28 ?>
    复制代码
    10. 写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数
    复制代码
     1 <?php
     2 $array=array(
     3   array(23,4,5,6,7,82),
     4   array(22,34,245,78),
     5   array(2,14,25,72)
     6 );
     7 function array_sort($array){
     8   if(!is_array($array)) return false;
     9   $newArray = array();
    10   foreach($array as $k => $a){
    11     foreach($a as $v){
    12       $newArray[]=$v;
    13     }
    14   }
    15   sort($newArray);
    16   return $newArray;
    17 }
    18 var_dump(array_sort($array));
    19 ?>
    20  
    复制代码
  • 相关阅读:
    C#后台利用正则表达式查找匹配字符
    C# Dictionary 的几种遍历方法
    eval解析JSON中的注意点
    jquery datatables api (转)
    Replication--镜像+复制
    Replication--分区+复制
    Replication--进程无法在“xxxx”上执行“sp_replcmds”
    Replication--无法将事务提升为分布式事务,因为在事务中有活动的保存点
    Replication--使用MSlogreader_history查看日志读起的延迟和事务命令
    Partition--分区拆分和分区合并
  • 原文地址:https://www.cnblogs.com/flyoo/p/2825939.html
Copyright © 2011-2022 走看看