收藏 分销(赏)

php笔试题.docx

上传人:天**** 文档编号:3530667 上传时间:2024-07-08 格式:DOCX 页数:21 大小:18.73KB 下载积分:10 金币
下载 相关 举报
php笔试题.docx_第1页
第1页 / 共21页
php笔试题.docx_第2页
第2页 / 共21页


点击查看更多>>
资源描述
php笔试题 资料仅供参考 1. 写出如下程序的输出结果 <? $str1 = null; $str2 = false; echo $str1==$str2 ? '相等' : '不相等';   $str3 = ''; $str4 = 0; echo $str3==$str4 ? '相等' : '不相等';   $str5 = 0; $str6 = '0'; echo $str5===$str6 ? '相等' : '不相等'; ?>     2. 写出如下程序的输出结果 <? $a1 = null; $a2 = false; $a3 = 0; $a4 = ''; $a5 = '0'; $a6 = 'null'; $a7 = array(); $a8 = array(array());   echo empty($a1) ? 'true' : 'false'; echo empty($a2) ? 'true' : 'false'; echo empty($a3) ? 'true' : 'false'; echo empty($a4) ? 'true' : 'false'; echo empty($a5) ? 'true' : 'false'; echo empty($a6) ? 'true' : 'false'; echo empty($a7) ? 'true' : 'false'; echo empty($a8) ? 'true' : 'false'; ?>   3. 写出如下程序的输出结果 <? $test = 'aaaaaa'; $abc = & $test; unset($test);   echo $abc; ?>   4. 写出如下程序的输出结果 <?$count = 5; function get_count(){ static $count = 0; return $count++; }   echo $count; ++$count; echo get_count(); echo get_count(); ?>   5. 写出如下程序的输出结果 <? $GLOBALS['var1'] = 5; $var2 = 1; function get_value(){ global $var2; $var1 = 0; return $var2++; } get_value();   echo $var1; echo $var2; ?>   6. 写出如下程序的输出结果 <? function get_arr($arr){ unset($arr[0]); } $arr1 = array(1, 2); $arr2 = array(1, 2);   get_arr(&$arr1); get_arr($arr2);   echo count($arr1); echo count($arr2); ?>     7. 使用五种以上方式获取一个文件的扩展名   要求:dir/upload.image.jpg,找出 .jpg 或者 jpg , 必须使用PHP自带的处理函数进行处理,方法不能明显重复,能够封装成函数,比如 get_ext1($file_name), get_ext2($file_name)     二、算法题     1. 使用PHP描述冒泡排序和快速排序算法,对象能够是一个数组   2. 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象能够是一个有序数组   3. 写一个二维数组排序算法函数,能够具有通用性,能够调用php内置函数       【附答案】(以下答案不一定是最好的,只是一个简单的参考)   一、基础题   1. 相等 相等 不相等 2. true true true true true false true false 3. aaaaaa 4. 5 0 1 5. 5 2 6. 1 2 7. 使用五种以上方式获取一个文件的扩展名   function get_ext1($file_name){ return strrchr($file_name, '.'); } function get_ext2($file_name){ return substr($file_name, strrpos($file_name, '.')); } function get_ext3($file_name){ return array_pop(explode('.', $file_name)); } function get_ext4($file_name){ $p = pathinfo($file_name); return $p['extension']; } function get_ext5($file_name){ return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.'))); }     二、算法题   1. 使用PHP描述冒泡排序和快速排序算法,对象能够是一个数组   //冒泡排序(数组排序)  function bubble_sort($array)  {            $count = count($array);            if ($count <= 0) return false;             for($i=0; $i<$count; $i++){                    for($j=$count-1; $j>$i; $j--){                            if ($array[$j] < $array[$j-1]){                                    $tmp = $array[$j];                                    $array[$j] = $array[$j-1];                                    $array[$j-1] = $tmp;                            }                    }            }            return $array;  }   //快速排序(数组排序)  function quick_sort($array) {            if (count($array) <= 1) return $array;             $key = $array[0];            $left_arr = array();            $right_arr = array();             for ($i=1; $i<count($array); $i++){                    if ($array[$i] <= $key)                            $left_arr[] = $array[$i];                    else                            $right_arr[] = $array[$i];            }             $left_arr = quick_sort($left_arr);            $right_arr = quick_sort($right_arr);             return array_merge($left_arr, array($key), $right_arr);  }     2. 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象能够是一个有序数组   //二分查找(数组里查找某个元素)  function bin_sch($array, $low, $high, $k){        if ($low <= $high){            $mid = intval(($low+$high)/2);            if ($array[$mid] == $k){                return $mid;            }elseif ($k < $array[$mid]){                return bin_sch($array, $low, $mid-1, $k);            }else{                return bin_sch($array, $mid+1, $high, $k);            }        }        return -1;  }   //顺序查找(数组里查找某个元素)  function seq_sch($array, $n, $k){        $array[$n] = $k;        for($i=0; $i<$n; $i++){            if($array[$i]==$k){                break;            }        }        if ($i<$n){            return $i;        }else{            return -1;        }  }     3. 写一个二维数组排序算法函数,能够具有通用性,能够调用php内置函数   //二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序 function array_sort($arr, $keys, $order=0) { if (!is_array($arr)) {      return false; } $keysvalue = array(); foreach($arr as $key => $val) {      $keysvalue[$key] = $val[$keys]; } if($order == 0){      asort($keysvalue); }else {      arsort($keysvalue); } reset($keysvalue); foreach($keysvalue as $key => $vals) {      $keysort[$key] = $key; } $new_array = array(); foreach($keysort as $key => $val) {      $new_array[$key] = $arr[$val]; } return $new_array; }     一份php面试题(附答案) -06-25 10:36 考的很基础,但基础不牢,有一批不会做。像在HTTP 1.0中,状态码 401 的含义,error_reporting(2047)这些不知道。但用2047似乎有点儿变态,太不易读。   如果能够参考手册~~~~     * 1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的URL记录在预定义变量(2)中。 2.执行程序段<?php echo 8%(-2) ?>将输出(3)。 3.在HTTP 1.0中,状态码 401 的含义是(4);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(5)。 4.数组函数 arsort 的作用是(6);语句 error_reporting(2047)的作用是(7)。 5.PEAR中的数据库连接字符串格式是(8)。 6.写出一个正则表示式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉):(9)。 7.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句(10)动态装载PHP模块, 然后再用语句(11)使得Apache把所有扩展名为php的文件都作为PHP脚本处理。 8.语句 include 和 require 都能把另外一个文件包含到当前文件中,它们的区别是(12);为了避免多次包含同一文件,能够用语句(13)来代替它们。 9.类的属性能够序列化后保存到 session 中,从而以后能够恢复整个类,这要用到的函数是(14)。 10.一个函数的参数不能是对变量的引用,除非在php.ini中把(15)设为on. 11.SQL 中LEFT JOIN的含义是(16)。 如果 tbl_user记录了学生的姓名(name)和学号(ID), tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject), 要想打印出各个学生姓名及对应的的各科总成绩,则能够用SQL语句(17)。   12.在PHP中,heredoc是一种特殊的字符串,它的结束标志必须(18)。       13.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。 14.简述论坛中无限分类的实现原理。 15.设计一个网页,使得打开它时弹出一个全屏的窗口,该窗口中有一个文本框和一个按钮。用户在文本框中输入信息后点击按钮就能够把窗口关闭,而输入的信息却在主网页中显示。   //答案(填空):   1. echo $_SERVER['PHP_SELF']; echo $_SERVER["HTTP_REFERER"]; 2. 0 3. (4)未授权 (5) header("HTTP/1.0 404 Not Found"); 4. (6)对数组进行逆向排序并保持索引关系   (7)All errors and warnings 5. 没弄明白 6. /<script[^>].*?>.*?<\/script>/si 7.(10)   LoadModule     php5_module "D:/xampp/apache/bin/php5apache2.dll"        (11) AddType application/x-httpd-php-source .phps        AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml 8.(12) 发生异常时include产生警告require产生致命错误   (13) require_once()/include_once() 9. serialize() /unserialize() 10. allow_call_time_pass_reference 11. (16) 自然左外连接       (17) select name , count(score) as sum_score from tbl_user left join tbl_score on tbl_user.ID=tbl_score.ID   group by tbl_user.ID 12. 结束标识符所在的行不能包含任何其它字符除";"       13.   /** * 遍历目录,结果存入数组。支持php4及以上。php5以后可用scandir()函数代替while循环。 * @param string $dir * @return array */ function my_scandir($dir) {     $files = array();     if ( $handle = opendir($dir) ) {         while ( ($file = readdir($handle)) !== false ) {             if ( $file != ".." && $file != "." ) {                 if ( is_dir($dir . "/" . $file) ) {                     $files[$file] = rec_scandir($dir . "/" . $file);                 }else {                     $files[] = $file;                 }             }         }         closedir($handle);         return $files;     } }   
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服