美文网首页
php的一些面试题总结(3)

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

作者: 化城 | 来源:发表于2017-02-22 12:21 被阅读45次

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 那么传地址以后,实参和行参都指向同一个对象

相关文章

网友评论

      本文标题:php的一些面试题总结(3)

      本文链接:https://www.haomeiwen.com/subject/xadpwttx.html