加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 运营中心 > 交互 > 正文

PHP面试题第九回

发布时间:2020-12-25 05:21:32 所属栏目:交互 来源:网络整理
导读:《PHP面试题第九回》要点: 本文介绍了PHP面试题第九回,希望对您有用。如果有疑问,可以联系我们。 1、HTTP状态中的301和302是什么意思?二者有何不同? 301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于: 301 redirect: 301 代表永久性

《PHP面试题第九回》要点:
本文介绍了PHP面试题第九回,希望对您有用。如果有疑问,可以联系我们。

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

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

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

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

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

<script type="text/javascript">

//思路分两步

//1,匹配出图片img标签(即匹配出所有图片),过滤其他不需要的字符

//2.从匹配出来的结果(img标签中)循环匹配出图片地址(即src属性)

var str = "this is test string <img src="http:yourweb.com/test.jpg" width='50' > 123 and the end <img src="所有地址也能匹配.jpg" /> 33! <img src="/uploads/attached/image/20120426/20120426225658_92565.png" alt="" />"

//匹配图片(g表示匹配所有结果i表示区分大小写)

var imgReg = /<img.*?(?:>|/>)/gi;

//匹配src属性

var srcReg = /src=[&;"]?([^&;"]*)[&;"]?/i;

var arr = str.match(imgReg);

alert('所有已成功匹配图片的数组:'+arr);

for (var i = 0; i < arr.length; i++) {

var src = arr[i].match(srcReg);

//获取图片地址

if(src[1]){

alert('已匹配的图片地址'+(i+1)+':'+src[1]);

}

//当然你也可以替换src属性

if (src[0]) {

var t = src[0].replace(/src/i,"href");

//alert(t);

}

}

</script>

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

(1) static

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

(2)const

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

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

<metacharset="utf-8">

<?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 "<br/>";

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

echo "<br/>";

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

echo "<br/>";

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

echo "<hr>";

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

echo "<br/>";

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

echo "<br/>";

$count=5;

function get_count(){

static $count=0;

return $count++;

}

echo $count;

++$count;

echo get_count();

echo get_count();

echo "<br/>";

$GLOBALS['var1']=5;

$var2=1;

function get_value(){

global $var2;

$var=0;

return $var2++;

}

get_value();

echo $var1;

echo $var2;

?>

8、已知一个函数如下

<?php

function output(array $arr){

foreach ($arr as $key =>$value)

echo $key.':'.$value,PHP_EOL;

}

/* 换行符

unix系列用 n

windows系列用 rn

mac用 r

PHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性

如:

<?php

echoPHP_EOL;

//windows平台相当于 echo "rn";

//unixlinux平台相当于 echo "n";

//mac平台相当于 echo "r";

?> */

?>

如果需要将次函数的输出结果赋给一个变量(如$toobar),如何实现?

9、有如下内容:

Group表

Group_id group_name

1 movie

2 music

Thread 表

Thread_id group_id username

1 1 matt

2 1 robi

3 2 robi

如何用一句sql语句得到如下的结果

group_id group_name count(group_id)

1 movie 2

2 music 1

请写出相应的sql语句:

create database gg characterset gbk;

use gg;

createtable you(

group_id intprimarykey auto_increment,

group_name varchar(20)

);

insertinto you values(' ','movie');

insertinto you values(' ','music');

createtable she(

thread_id intprimarykey auto_increment,

group_id intreferences you(group_id),

username varchar(20)

);

insertinto she values (' ',1,'matt');

insertinto she values (' ','robi');

insertinto she values (' ',2,'robi');

select a.group_id,a.group_name,b.c 'count(group_id)'from you a,

(select group_id,count(group_id) c from she groupby group_id) b

where a.group_id=b.group_id;

PHP面试题第九回

10、现有以下内容

Id(int) name(text)

1 网友

2 网友

3 网友

4 网友

5 网友

请写一个sql语句,把name字段更新成name+id

也就是变成网友1、网友2.........以此类推?

drop database name;

create database name characterset gbk;

use name;

createtable namet(

id intprimarykey auto_increment,

name text

);

insertinto namet values(' ','网友');

insertinto namet values(' ','网友');

update namet set name=concat(name,id);

select * from namet;

PHP面试题第九回

编程之家培训学院每天发布《PHP面试题第九回》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读