设为首页 收藏本站
查看: 834|回复: 0

[经验分享] php笔试题摘录

[复制链接]

尚未签到

发表于 2015-8-26 13:23:01 | 显示全部楼层 |阅读模式
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  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-104498-1-1.html 上篇帖子: php中curl、fsockopen的应用 下篇帖子: PHP Session原理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表