几道入门PHP笔试题
来源:互联网 发布:索尼爱立信w980 软件 编辑:程序博客网 时间:2024/04/29 04:21
一、基础题
1. 写出如下程序的输出结果
2 $str1 = null ;
3 $str2 = false ;
4 echo $str1 == $str2 ? ' 相等 ' : ' 不相等 ' ;
5
6 $str3 = '' ;
7 $str4 = 0 ;
8 echo $str3 == $str4 ? ' 相等 ' : ' 不相等 ' ;
9
10 $str5 = 0 ;
11 $str6 = ' 0 ' ;
12 echo $str5 === $str6 ? ' 相等 ' : ' 不相等 ' ;
13 ?>
14
15
2. 写出如下程序的输出结果
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
11 echo empty ( $a1 ) ? ' true ' : ' false ' ;
12 echo empty ( $a2 ) ? ' true ' : ' false ' ;
13 echo empty ( $a3 ) ? ' true ' : ' false ' ;
14 echo empty ( $a4 ) ? ' true ' : ' false ' ;
15 echo empty ( $a5 ) ? ' true ' : ' false ' ;
16 echo empty ( $a6 ) ? ' true ' : ' false ' ;
17 echo empty ( $a7 ) ? ' true ' : ' false ' ;
18 echo empty ( $a8 ) ? ' true ' : ' false ' ;
19 ?>
20
3. 写出如下程序的输出结果
2 $test = ' aaaaaa ' ;
3 $abc = & $test ;
4 unset ( $test );
5
6 echo $abc ;
7 ?>
8
9
4. 写出如下程序的输出结果
2 function get_count(){
3 static $count = 0 ;
4 return $count ++ ;
5 }
6
7 echo $count ;
8 ++ $count ;
9 echo get_count();
10 echo get_count();
11 ?>
12
13
5. 写出如下程序的输出结果
2 $GLOBALS [ ' var1 ' ] = 5 ;
3 $var2 = 1 ;
4 function get_value(){
5 global $var2 ;
6 $var1 = 0 ;
7 return $var2 ++ ;
8 }
9 get_value();
10
11 echo $var1 ;
12 echo $var2 ;
13 ?>
14
15
6. 写出如下程序的输出结果
2 function get_arr( $arr ){
3 unset ( $arr [ 0 ]);
4 }
5 $arr1 = array ( 1 , 2 );
6 $arr2 = array ( 1 , 2 );
7
8 get_arr( & $arr1 );
9 get_arr( $arr2 );
10
11 echo count ( $arr1 );
12 echo count ( $arr2 );
13 ?>
14
15
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描述冒泡排序和快速排序算法,对象可以是一个数组
2 function bubble_sort( $array )
3 {
4 $count = count ( $array );
5 if ( $count <= 0 ) return false ;
6
7 for ( $i = 0 ; $i < $count ; $i ++ ){
8 for ( $j = $count - 1 ; $j > $i ; $j -- ){
9 if ( $array [ $j ] < $array [ $j - 1 ]){
10 $tmp = $array [ $j ];
11 $array [ $j ] = $array [ $j - 1 ];
12 $array [ $j - 1 ] = $tmp ;
13 }
14 }
15 }
16 return $array ;
17 }
18
19 // 快速排序(数组排序)
20 function quick_sort( $array ) {
21 if ( count ( $array ) <= 1 ) return $array ;
22
23 $key = $array [ 0 ];
24 $left_arr = array ();
25 $right_arr = array ();
26
27 for ( $i = 1 ; $i < count ( $array ); $i ++ ){
28 if ( $array [ $i ] <= $key )
29 $left_arr [] = $array [ $i ];
30 else
31 $right_arr [] = $array [ $i ];
32 }
33
34 $left_arr = quick_sort( $left_arr );
35 $right_arr = quick_sort( $right_arr );
36
37 return array_merge ( $left_arr , array ( $key ) , $right_arr );
38 }
39
40
2. 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组
2 function bin_sch( $array , $low , $high , $k ){
3 if ( $low <= $high ){
4 $mid = intval (( $low + $high ) / 2 );
5 if ( $array [ $mid ] == $k ){
6 return $mid ;
7 } elseif ( $k < $array [ $mid ]){
8 return bin_sch( $array , $low , $mid - 1 , $k );
9 } else {
10 return bin_sch( $array , $mid + 1 , $high , $k );
11 }
12 }
13 return - 1 ;
14 }
15
16 // 顺序查找(数组里查找某个元素)
17 function seq_sch( $array , $n , $k ){
18 $array [ $n ] = $k ;
19 for ( $i = 0 ; $i < $n ; $i ++ ){
20 if ( $array [ $i ] == $k ){
21 break ;
22 }
23 }
24 if ( $i < $n ){
25 return $i ;
26 } else {
27 return - 1 ;
28 }
29 }
30
31
3. 写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数
//二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序
2 if ( ! is_array ( $arr )) {
3 return false ;
4 }
5 $keysvalue = array ();
6 foreach ( $arr as $key => $val ) {
7 $keysvalue [ $key ] = $val [ $keys ];
8 }
9 if ( $order == 0 ){
10 asort ( $keysvalue );
11 } else {
12 arsort ( $keysvalue );
13 }
14 reset ( $keysvalue );
15 foreach ( $keysvalue as $key => $vals ) {
16 $keysort [ $key ] = $key ;
17 }
18 $new_array = array ();
19 foreach ( $keysort as $key => $val ) {
20 $new_array [ $key ] = $arr [ $val ];
21 }
22 return $new_array ;
23 }
24
- 几道入门PHP笔试题
- 几道入门PHP笔试题
- 我自己想的几道入门PHP笔试题
- 我自己想的几道入门PHP笔试题
- 几道php笔试题
- [原创]我自己想的几道入门PHP笔试题
- [原创]我自己想的几道入门PHP笔试题
- [原创]我自己想的几道入门PHP笔试题
- PHP入门笔试题
- 黑夜路人出的几道php笔试题
- 几道笔试题
- 几道笔试题
- 几道笔试题
- 几道笔试题
- 几道笔试题
- 几道笔试题
- 几道笔试题
- 【面试笔试-php】几道php小面试题目
- 从刘若英现象看社会“逆流”
- 网站防采集代码
- 手机短信息SMS的程序开发
- 人脉就是财脉 直销商应该如何打造个人口碑
- 图灵奖得主姚期智印象(转贴)
- 几道入门PHP笔试题
- AJAX responseText乱码解决
- 易协软件:项目管理方法
- 关于一个小问题的联想
- 软件破解思路~ 几个相关
- SQL:Join data of one column together group by the main key (2)
- 列出目录中的所有文件
- a
- BBSMicrosoft VBScript 运行时错误 错误 '800a01a8' 缺少对象:这是什么错误