php的一些面试题总结(3)

1.下面表达式打印出的结果。

$result=count(strlen("http://php.net"));

var_dump($result);

结果:1 

解析:如果是NULL,直接返回0  

如果是其他的数据类型

1、字符串

2、数字

3、对象分支中两个if判断都为false的情况,即没有继承ArrayObject且没有实现Countable接口。

这些类型通通返回1。

参考:http://www.jb51.net/article/85525.htm

2. echo '1'.print(2)+3;的结果是什么?

答案:511

首先计算的是 右边print(2)+3,这个你可以直接理解成print(2+3),得到的结果是5。而print是一个函数,

它的返回值总是1。

第二步就是echo '1'.print('结果')(返回值是1),因此会得到11的结果。

第三部就是将之前计算的结果进行连接,并最终进行输出,得到的结果就是511了。


3.在HTTP 1.0中,状态码 401 的含义是___;如果返回“找不到文件”的提示,则可用 header 函数,其语句为___

答:(4)未授权 (5) header("HTTP/1.0 404 Not Found");

4.数组函数 arsort 的作用是__;语句 error_reporting(2047)的作用是(7)。

答:(6)对数组进行逆向排序并保持索引关系  (7)All errors and warnings

5.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把标记及其内容都去掉)

答:/<[^>].*?>.*?<\/>/si

6.类的属性可以序列化后保存到 session 中,从而以后可以恢复整个类,这要用到的函数是

答:serialize() /unserialize()

7.一个函数的参数不能是对变量的引用,除非在php.ini中把___设为on.

答:allow_call_time_pass_reference

8.SQL 中LEFT JOIN的含义是___。

如果 tbl_user记录了学生的姓名(name)和学号(ID),

tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),

要想打印出各个学生姓名及对应的的各科总成绩,则可以用SQL语句___。

答:自然左外连接

 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

9.用PHP打印出前一天的时间格式是2006-5-10 22:21:21

答:echo date('Y-m-d H:i:s', strtotime('-1 day'));

10.如何实现字符串翻转?

答:.用strrev函数呗,不准用PHP内置的就自己写:

strrev($str)

{

$len=strlen($str);

$newstr = '';

for($i=$len;$i>=0;$i--)

{

$newstr .= $str{$i};

}

return $newstr;}

11.实现中文字串截取无乱码的方法

答:mb_substr()

12.使用五种以上方式获取一个文件的扩展名

要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,

1)   get_ext1($file_name)

{

return strrchr($file_name, '.');

}

2)   get_ext2($file_name)

{

return substr($file_name, strrpos($file_name, '.'));

}

3)   get_ext3($file_name)

{

return array_pop(explode('.', $file_name));

}

4)   get_ext4($file_name)

{

$p = pathinfo($file_name);

return $p['extension'];

}

5)   get_ext5($file_name)

{

return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.')));

}

13.如何修改SESSION的生存时间

<?php

// 保存一天

$lifeTime = 24 * 3600;

session_set_cookie_params($lifeTime);

session_start();

$_SESSION["admin"] = true;

?>

14.如何用php的环境变量得到一个网页地址的内容?ip地址又要怎样得到?

答:$_SERVSR[‘REQUEST_URI']

$_SERVER[‘REMOTE_ADDR']

15.表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。

答:select case when A>B then A else B end,

case when B>C then B else C end

From test

16.GD 函式库用来做什么?

答:这个函式库让你处理和显示各式格式的图档,它的另一个常见用途是制作所图档。GD 以外的另一个选择是 ImageMagick,但这个函式库并不内建于 PHP 之中,必须由系统管理员安装在伺服器上

17.PHP中传值和传引用、传地址的区别是什么?

答:传值是把实参的值赋值给行参 那么对行参的修改,不会影响实参的值

传地址 是传值的一种特殊方式,只是他传递的是地址,不是普通的如int 那么传地址以后,实参和行参都指向同一个对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,903评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 9,239评论 0 11
  • 1、判断一个变量是否存在的函数:isset判断一个变量是否为null的函数:is_null判断一个变量是否为空的函...
    jianghu000阅读 5,672评论 1 4
  • 编程题: 1. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名 例如:http://www.si...
    dragonwarrior阅读 4,001评论 1 2
  • ——读《窗外》有感 窗户,是将屋内外联系在一起的工具,同时,也将里外隔开。让你看到外面的美景,却不能触碰。 《窗外...
    装作是文青的童童阅读 3,427评论 0 1