首页 >  面试题 > JAVA,PHP企业面试宝典 > 

PHP面试题系列(九)

PHP面试题系列(九)

作者:elc 来源: 时间:2017-04-06 访问次数:1019
1、HTTP状态中的301和302是什么意思?二者有何不同?

1、HTTP状态中的301和302是什么意思?二者有何不同?

301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:

301 redirect: 301 代表永久性转移(Permanently Moved)。

302 redirect: 302 代表暂时性转移(Temporarily Moved )。

2、如何用正则表达式获得一个页面内容中所有图片的地址?

3、Const和static二者有哪些相似和不同?

(1) static

static关键字在类中是,描述一个成员是静态的,static能够限制外部的访问,因为static后的成员是属于类的,是不属于任何对象实例,其他类是无法访问的,只对类的实例共享,能一定程序对该成员尽心保护。类的静态变量,非常类似全局变量,能够被所有类的实例共享,类的静态方法也是一样的,类似于全局函数。类的静态方法能访问类的静态的属性。另外说明的是,static的成员,必须使用self来访问,使用this会出错。

(2)const

const是一个定义常量的关键字,类似于C中的#define,能够定义一个常量,如果在程序中改变了它的值,那么会出现错误。

4、已知任意一个合法日期,如何算出那一天所在星期的周一是几月几号?

<?php

date_default_timezone_set('PRC');

function zhuanhuan($strtime){

$time=strtotime($strtime);

$xingqi=date('w',$time);

switch($xingqi){

case 0:

echo date("Y-m-d",$time-3600*24*6);

break;

case 1:

echo date("Y-m-d",$time);

break;

case 2:

echo date("Y-m-d",$time-3600*24);

break;

case 3:

echo date("Y-m-d",$time-3600*24*2);

break;

case 4:

echo date("Y-m-d",$time-3600*24*3);

break;

case 5:

echo date("Y-m-d",$time-3600*24*4);

break;

case 6:

echo date("Y-m-d",$time-3600*24*5);

break;

case 6:

echo date("Y-m-d",$time-3600*24*6);

break;

default:

echo "呵呵";

}

}

zhuanhuan("2017-01-09");

//代码输出结果:2017-01-09

5、请写出至少两种获取文件名中扩展名的方法?

方法一

<?php

$path = "/usr/www/html/index.php";

$pathinfo = pathinfo($path);

//var_dump($pathinfo);

echo "扩展名:$pathinfo[extension]";

?>

PHP面试题第九回

方法二

<?php

function extend_2( $file_name )

{

$extend = pathinfo ( $file_name );

$extend = strtolower ( $extend [ "extension" ]);

return $extend ;

}

echo extend_2('index.php');

6、如何以追加的方式打开一个文件进行写操作?

<?php

file_put_contents("test.txt", "This is another something.", FILE_APPEND);

?>

7、写出代码的执行结果?

<?php

$a=null ;$b=false;echo $a==$b?'相等':'不想等';

echo "
";

$a=0;$b=0;echo $a==$b?'相等':'不相等';

echo "
";

$a='0';echo empty($a)?'true':'false';

echo "
";

$a=null;echo empty($a)?'true':'false';

echo "


";

$a='abc';printf('%d',count($a));

echo "
";

$a=1;$b=&$a;$c=$a++;echo $a.$b.$c;

echo "
";

$count=5;

<span sty