PHP面试题全面归纳总结一

分类: 互联网 > 面试题

1. 请选择以下代码运行的结果:

  A 无任何输出结果      B   LOL        C 不执行且报错

解析:1e3 是 科学计数法 实数的指数形式 为1乘以10的三次方,故‘1e3’=='1000'是成立的,输出echo ‘LOL’;

2. 请选出以下代码运行的结果:

  A b            B aabbzz            C aabcaa

解析: 字符串字母相加其实就是在末尾字母加一 如:$a = "a"; $a++;答应结果就是 b,$a=''aa';结果就是ab 故$a = "aabb";打印结果就是 aabc ,如$a = "aabbz";结果就是 aabca,因为Z是末尾字母故加一变为a,向前一位进一,b就变为c,故结果为C;

3. 写出一下程序的输出结果:

$data = ['a','b','c']; 

foreach($data as $k=>$v){

    $v = &$data[$k];

}

  A $data = ['a','b','c'];            B $data = ['b','b','c'];             C $data = ['b','c','c']; 

解析:这里有个考点要记得 就是&是引用;修改引用变量的值,那么空间的值也会改变,第一次循环 得到$v=&$data[0]=>'a',第二次循环$v=&$data[1]=>'b',可见第一次引用的$data[0]的值已经被改变,所以此时的$data[0]=b,此时$v引用的$data[1],进入第三次循环 此时$v又变为 $v=&$data[2]=>'c',,$v又一次改变,引用的$data[1]的值也被改变为C,所以此时的$data[1]=c,这样循环结束 $data[0]=>'b', $data[1]=>'c', $data[2]=>'c',

4. 写出一下程序的输出结果:

  A 空;     B true;      C false;     D、1;  E、0;  F:报错

解析:这里的考点有两个:1,echo false和true的值;2、浮点类型不能用于精确计算;首先浮点类型的数据不能用于计算,他会将浮点类型转为二进制,所以有一定的损耗,故它无限接近于0.8,也就是0.79999999...,所以echo 应该是个false;echo false;结果是空;echo true;结果是1;

5. 用PHP写出显示客户端的IP和服务端的IP

  echo $_SERVER[‘REMOTE_ADDR’];//客户端IP

  echo gethostbyname(“www.baidu.com”)//服务端

6. PHP中如何优化多个if...esleif语句的情况
        解析:首先尽可能将表达式可能性越大的越往前面放,其次如果我们判断的内容比较复杂且判断的值只是字符串,整型,浮点那么就可以用switch...case来代替

7. 用正则 写出以139开头的手机号码
$str = '13812345678';
$pattern = '/^139\d{8}$/';
preg_match($pattern,$str,$macth);
var_dump($macth);

8. 用PHP方式对目录进行遍历

$dir = '/test/';
function loopDir($dir) {
    $handle = opendir($dir);
    while(false !== ($file = readdir($handle))) {
        if ($file != '.' && $file != '..') {
            echo $file . '
';
            if (is_dir($dir . '/' . $file)){
                loopDir($dir . '/' . $file);
            }
        }
    }
}
loopDir($dir);

9. 请简单叙述 CGI fastCGI h和  PHP-FPM的区别
    CGI 代表为了联系PHP 和websevae 的一个桥梁
    fastCGI 是CGI的改良版
    PHP-FPM  进程管理器

 

 

 

 

 

 

 

 

 

 

 

来源:原创 发布时间:2021-12-24 21:22:10