PHP面试笔试题

PHP面试笔试题
PHP面试笔试题

PHP工程师笔试题收藏

PHP变量解析顺序variables_order

解析顺序从左到右,后解析新值覆盖旧值。默认设定为EGPCS(Environment,GET,POST,Cookie,Server)。

1. 写一个函数,尽可能高效的,从一个标准url 里取出文件的扩展名

例如: https://www.360docs.net/doc/f7627536.html,/abc/de/fg.php?id=1

需要取出php 或.php

2. 在HTML 语言中,页面头部的meta 标记可以用来输出文件的编码格式,以下是一个标准的meta 语句

请使用PHP 语言写一个函数,把一个标准HTML 页面中的类似meta 标记中的charset 部分值改为big5

请注意:

(1) 需要处理完整的html 页面,即不光此meta 语句

(2) 忽略大小写

(3) ' 和" 在此处是可以互换的

(4) 'Content-Type' 两侧的引号是可以忽略的,但'text/html; charset=gbk' 两侧的不行

(5) 注意处理多余空格

3. 写一个函数,算出两个文件的相对路径

如$a = '/a/b/c/d/e.php';

$b = '/a/b/12/34/c.php';

计算出$b 相对于$a 的相对路径应该是../../c/d将()添上

4.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。

5.简述论坛中无限分类的实现原理。

6.设计一个网页,使得打开它时弹出一个全屏的窗口,该窗口中有一个文本框和一个按钮。用户在文本框中输入信息后点击按钮就可以把窗口关闭,而输入的信息却在主网页中显示。

--------------------------------------------------------------------------------

百度Web开发工程师笔试题

2007-11-07百度笔试题(web开发和新产品搜索方向)

第一部分:

1.解释下面语句的意思:document.form["formName"].submit;

2.有下面语句11111:

编写代码,当鼠标划过文本框,自动选中文本框中的内容。

3.将字符09转换成十进制数字。

4.将1234567890转换成1,234,567,890 每3位用逗号隔开的形式。

5.关于HTML和CSS的,忘记了。

6.在文本框中输入一个年份,判断其生肖,并输出在文本框旁边。

对html和javaServlet都要求写出。

7.Ajax从服务器取数据{id:123, name:"baidu", username:"mm",checked:true}; 分析name对应的值("baidu").(题目较长,不记得了)

8.谈关于客户体验的问题。

第二部分:

1.Ajax,数据库触发器,GUI,中断机制的共同思想。谈一谈该种思想(机制)。

2.把一篇英文文档中所有单词的首字母转为大写,文档存在doc.txt中。可以在多种编程语言中选择(C\C++,JA V A,PHP...)写出你的思路,尽量优化你的程序。

3.关于树的数据结构.

4.数据库优化:

有一个表PRODUCT(ID,NAME,PRICE,COUNT);

在执行一下查询的时候速度总是很慢:

SELECT * FROM PRODUCT WHERE PRICE=100;

在price字段上加上一个非聚簇索引,查询速度还是很慢。

(1)分析查询慢的原因。

(2)如何进行优化。

5.CREATE TABLE topid{

topicId int not null primary key auto_increment,

title text,

author varchar(30),

content blob,

isDeleted int

...... //好像在author上定义了一个索引

}

CREATE TABLE reply{

topicId int foreign key, replyId int primary key auto_increment,

replyAuthor varchar(30),

replyTime datetime,

context blob

....... //定义了一个索引和key

}

一个为主题表,一个为回复表。

1.问从性能上考虑,这样做有什么不足。

2.查询回复时间不超过一个特定的时间段,回复的作者名字以MIKE开头的主题

的title,以如下的查询:

select * from topic where replyid in (select replyid from reply where

replyAuthor like 'mike%' and (currentTime()-replyTime

从性能上考虑上述的查询语句有什么不足?

如何进行优化?

--------------------------------------------------------------------------------

php中empty(),is_null(),isset(),bool之间的区别

假设$var 是任何type。

当empty($var) 为true 时,(bool)($var)

为false 。反之亦然。

同样,

当is_null($var) 为true 时,isset($var) 为false 。反之亦然。

假如:

$i=$j+1;

这里的is_null($j)为true

可见:

isset用于判断未定义的情况。

Empty可以判断未定义和已定义,但是为空,为0的情况。

Is_null可以看做是isset的反函数

If($表达式)可以看做是empty的反函数

当要判断的内容为数组时,表中仅仅罗列了一种情况,下面补充两种容易误会的情况

PHP代码$b[]=null;

$b[]=null;

//视为数组已存在且不为空

$c[]="";

$c[]="";

//视为数组已存在且不为空

empty

(PHP 3, PHP 4, PHP 5)

empty -- 检查一个变量是否为空

描述

bool empty ( mixed var )

如果var 是非空或非零的值,则empty() 返回FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果var 为空,则返回TRUE。

除了当变量没有置值时不产生警告之外,empty() 是(boolean) var 的反义词。参见转换为布尔值获取更多信息。

empty() 与isset() 的一个简单比较。

$var = 0;

// 结果为true,因为$var 为空

if (empty($var)) {

echo '$var is either 0 or not set at all';

}

// 结果为false,因为$var 已设置

if (!isset($var)) {

echo '$var is not set at all';

}

?>

注: 由于这是一个语言结构而非函数,因此它无法被变量函数调用。

注: empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用:empty(addslashes($name))。

isset

(PHP 3, PHP 4, PHP 5)

isset -- 检测变量是否设置

描述

bool isset ( mixed var [, mixed var [, ...]] )

如果var 存在则返回TRUE,否则返回FALSE。

如果已经使用unset() 释放了一个变量之后,它将不再是isset()。若使用isset() 测试一个被设置成NULL 的变量,将返回FALSE。同时要注意的是一个NULL 字节("\0")并不等同于PHP 的NULL 常数。

警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用defined() 函数。

is_null

(PHP 4 >= 4.0.4, PHP 5)

is_null -- 检测变量是否为NULL

描述

bool is_null ( mixed var )

如果var 是null 则返回TRUE,否则返回FALSE。

查看NULL 类型获知变量什么时候被认为是NULL,而什么时候不是。

本文来自CSDN博客,转载请标明出处:https://www.360docs.net/doc/f7627536.html,/mengxiangbaidu/archive/2 010/06/17/5675435.aspx、

一、基础题

1. 写出如下程序的输出结果

$str1 = null;

$str2 = false;

echo $str1==$str2 ? '相等' : '不相等';

$str3 = '';

$str4 = 0;

echo $str3==$str4 ? '相等' : '不相等';

$str5 = 0;

$str6 = '0';

echo $str5===$str6 ? '相等' : '不相等';

?> 2. 写出如下程序的输出结果

$a1 = null;

$a2 = false;

$a3 = 0;

$a4 = '';

$a5 = '0';

$a6 = 'null';

$a7 = array();

$a8 = array(array());

echo empty($a1) ? 'true' : 'false'; echo empty($a2) ? 'true' : 'false'; echo empty($a3) ? 'true' : 'false'; echo empty($a4) ? 'true' : 'false'; echo empty($a5) ? 'true' : 'false'; echo empty($a6) ? 'true' : 'false'; echo empty($a7) ? 'true' : 'false'; echo empty($a8) ? 'true' : 'false'; ?>

3. 写出如下程序的输出结果

$test = 'aaaaaa';

$abc = & $test;

unset($test);

echo $abc;

?>

4. 写出如下程序的输出结果

function get_count(){

static $count = 0;

return $count++;

}

echo $count;

++$count;

echo get_count();

echo get_count();

?>

5. 写出如下程序的输出结果

$GLOBALS['var1'] = 5;

$var2 = 1;

function get_value(){

global $var2;

$var1 = 0;

return $var2++;

}

get_value();

echo $var1;

echo $var2;

?>

6. 写出如下程序的输出结果

function get_arr($arr){

unset($arr[0]);

}

$arr1 = array(1, 2);

$arr2 = array(1, 2);

get_arr(&$arr1);

get_arr($arr2);

echo count($arr1);

echo count($arr2);

?>

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

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

必须使用PHP自带的处理函数进行处理,方法不能明显重复,可以封装成函数,比如get_ext1($file_name), get_ext2($file_name)

二、算法题1. 使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组

2. 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组

3. 写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数

【附答案】(以下答案不一定是最好的,只是一个简单的参考)

一、基础题

1. 相等相等不相等

2. true true true true true false true false

3. aaaaaa

4. 5 0 1

5. 5 2

6. 1 2

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

function get_ext1($file_name){

return strrchr($file_name, '.');

}

function get_ext2($file_name){

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

}

function get_ext3($file_name){

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

}

function get_ext4($file_name){

$p = pathinfo($file_name);

return $p['extension'];

}

function get_ext5($file_name){

return strrev(substr(strrev($file_name), 0,

strpos(strrev($file_name), '.')));

}

二、算法题

1. 使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组

//冒泡排序(数组排序)

function bubble_sort($array)

{

$count = count($array);

if ($count <= 0) return false;

for($i=0; $i<$count; $i++){

for($j=$count-1; $j>$i; $j--){

if ($array[$j] < $array[$j-1]){

$tmp = $array[$j];

$array[$j] = $array[$j-1];

$array[$j-1] = $tmp;

}

}

}

return $array;

}

//快速排序(数组排序)

function quick_sort($array) {

if (count($array) <= 1) return $array;

$key = $array[0];

$left_arr = array();

$right_arr = array();

for ($i=1; $i

if ($array[$i] <= $key)

$left_arr[] = $array[$i];

else

$right_arr[] = $array[$i];

}

$left_arr = quick_sort($left_arr);

$right_arr = quick_sort($right_arr);

return array_merge($left_arr, array($key), $right_arr);

}

2. 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组

//二分查找(数组里查找某个元素)function bin_sch($array, $low, $high, $k){ if ($low <= $high){

$mid = intval(($low+$high)/2);

if ($array[$mid] == $k){

return $mid;

}elseif ($k < $array[$mid]){

return bin_sch($array, $low, $mid-1, $k);

}else{

return bin_sch($array, $mid+1, $high, $k);

}

}

return -1;

}

//顺序查找(数组里查找某个元素)function seq_sch($array, $n, $k){

$array[$n] = $k;

for($i=0; $i<$n; $i++){

if($array[$i]==$k){

break;

}

}

if ($i<$n){

return $i;

}else{

return -1;

}

}

3. 写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数

//二维数组排序,$arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序

function array_sort($arr, $keys, $order=0) { if (!is_array($arr)) {

return false;

}

$keysvalue = array();

foreach($arr as $key => $val) {

$keysvalue[$key] = $val[$keys];

}

if($order == 0){

asort($keysvalue);

}else {

arsort($keysvalue);

}

reset($keysvalue);

foreach($keysvalue as $key => $vals) { $keysort[$key] = $key;

}

$new_array = array();

foreach($keysort as $key => $val) {

$new_array[$key] = $arr[$val];

}

return $new_array;

}本篇文章来源于:开发学院https://www.360docs.net/doc/f7627536.html, 原文链接:https://www.360docs.net/doc/f7627536.html,/2009/0831/14781.php 、

Bug Report 01 描述:填写招聘信息处的,电子邮箱的验证有问题

hr_en@https://www.360docs.net/doc/f7627536.html,

这个地址不能通过验证。

建议简历发送hr_en@https://www.360docs.net/doc/f7627536.html,

[本帖最后由PhpJobHuntor 于2008-10-21 11:20 编辑]

泪雪无恨(2008-10-16 22:30:34)

试试,

我的签名里有简历的链接,,,PhpJobHuntor (2008-10-21 10:15:40)

继续,顶起来。

简历请发hr_en@https://www.360docs.net/doc/f7627536.html, PhpJobHuntor (2008-10-21 11:20:44)

写出一个函数,要求对字符串实现下述翻转。

“Wow,Hezhi media team is good,you will see by your eye”

翻转成

“eye ruoy yb ees lliw uoy,doog si maet aidem ihzeh,woW”。

tianxj (2008-10-21 11:24:24)

把字符串看出数组,头尾互换

最奇怪的是其中有个字母大写变小写了xieaotian (2008-10-21 11:25:58)

CODE:

xieaotian (2008-10-21 11:26:17)

以上结果为:

eye ruoy yb ees lliw uoy ?doog si maet aidem ihzeH?woW

eye ruoy yb ees lliw uoy ?doog si maet aidem ihzeH?woW

星野天河(2008-10-21 11:28:53)

$str = "Wow,Hezhi media team is good,you will see by your eye";

$leng = strlen($str);

for ($i=$leng-1; $i>=0; $i--) {

$newStr .= $str[$i];

}

echo $newStr;

星野天河(2008-10-21 11:29:18)

咋才一题呢?

letmepass (2008-10-21 11:29:50)

$str = "Wow,Hezhi media team is good,you will see by your eye";

echo strrev($str);

https://www.360docs.net/doc/f7627536.html, (2008-10-21 11:32:35)

都是大牛。。。。。。。。。。。。xieaotian (2008-10-21 11:32:42)

继续用正则写:

CODE:

xieaotian (2008-10-21 11:33:03)

建议上面的招聘公司发些架构方面的需求PhpJobHuntor (2008-10-21 11:37:33)

QUOTE:

原帖由xieaotian于2008-10-21 11:25 发

1.大写变成小写,是我的笔误。

2. 我们还可以考虑一下效率问题。

比如缩短循环次数

PhpJobHuntor (2008-10-21 11:38:41)

笔试题2

写出一个函数,要求识别字符串中的回文字。

“Wow,Hezhi media team is good,you will see by your eye”

如,上面的回文字有wow ,(忽略大小写) tianxj (2008-10-21 11:41:36)

执行互换的次数为strlen($str)/2

就像1加到100一样,1跟100加,2跟99加...

xieaotian (2008-10-21 11:48:52)

用位运算吧

不过本论坛没几个人能写出来

shanhun59 (2008-10-21 11:54:19)

1、正则取出所有单词-------装入数组

2、我记得好像可以这样取出所以字母:

字符串$str,可以用$str[$i],i变幻,可以取出每个字母

3、通过$str【$i】,比较字母是不是可以得出是否该字符串为回文呢?

还有一个办法,不知道行不行,就是字符串翻转后仍然和原字符串相等,是不是可以判定为回文呢?

shanhun59 (2008-10-21 11:56:47)

ereg_place()——去掉所有逗号

explode()用空格分隔字符串,不知道这样是否可以得到所有单词

cupdir (2008-10-21 15:29:21)

我也来一下/1!!!!简单点的

%ZB]]Y}W7`[Z4_@NNU~}H~U.jpg

NQNARU_[)GX(JHKFE(PCR4O.jpg

huigenius (2008-10-21 15:35:40)

[php]

$str = "Wow,Hezhi 我是我media team is good,you will see by your eye";

function m_strrev($str){ // UTF-8 encode

$len = strlen($str);

$b_str = '';

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

{

if (ord($str{$i}) > 124) {

$tmp = $str{$i-2}.$str{$i-1}.$str{$i};

$i -= 2;

}else{

$tmp = $str{$i};

}

$b_str .= $tmp;

}

return $b_str;

}

echo m_strrev($str)."\n";

function backw($str){

$str = strtolower($str);

$b_str = m_strrev($str);

preg_match_all('/[^a-z\x{4e00}-\x{9fa 5}]?([a-z\x{4e00}-\x{9fa5}]+)[^a-z\x{4e00}-\ x{9fa5}]?/u',$str,$m1);

preg_match_all('/[^a-z\x{4e00}-\x{9fa 5}]?([a-z\x{4e00}-\x{9fa5}]+)[^a-z\x{4e00}-\ x{9fa5}]?/u',$b_str,$m2);

return array_intersect($m1[1],$m2[1]); }

print_r(backw($str));

[/php]

php程序员面试题目

php程序员面试题目 1、以下题目,除了编程任务外其他都需要写在给你提供的草纸上。纸张是珍贵的地球资源,请节约使用。编程任务在有相应的环境时,会要求上机书写,实在没有条件,就只能写在草纸上了。 2、时间: 基础任务+进阶任务+设计任务=90分钟 编程任务=60分钟 基础任务: 1、请列举你能想到的UNIX信号,并说明信号用途。 2、请列举、你能想到的所有的字符串查找算法,并加注释简单说明。 3、有一个IP地址(192.168.0.1),请写出其32位无符号整数形式。 4、写出、你能想到的所有HTTP返回状态值,并说明用途(比如:返回404表示找不到页面) 基础任务-选作(会得到额外分数): 1、画几个你最熟悉的SERVER端模型出来(格式不重要,尽量将图画清楚,说明思路即可) 进阶任务: 1、PHP的垃圾收集机制是怎样的? 说明: 1)如果,你熟悉PHP源码,那么请从源码入手,回答些问题,会获得额外加分 2)如果,你不熟悉PHP源码,那么尽你所能,多写点东西,包括利用自己的编程直觉得到的信息,都可以。 3)对,则有分,错误不扣,不写无分。 2、请写出HTTP头,并符合以下要求: 1)这是一个post请求 2)目标:https://www.360docs.net/doc/f7627536.html,:8080/test 3)POST变量: username: test

pwd: test2 intro: Hello world! 4)包含以下COOKIE信息: cur_query: you&me 说明: 1)如果,你记不得某个HTTP协议中的指令字了,那么,无奈这举是用“汉字”代替。 2)如果,你能记住更多的HTTP协议指令字,那么多写几句,总是没坏处,对吧? 3)最关键的,只需要画出正确的“轮廓”(还记得httpwatch等工具打印出来的头部吗?那就是“轮廓”的含义),也会有分数,但如果,连“轮廓”都写错了,那么就很遗憾了。 设计任务: 1、最近总有人骚扰我们的投票模块,需要你来设计一个投票限制的东东 要求如下: 1)要求每个QQ号码(假设此QQ号码在UNIT32内可以表示)10分钟这内只能投5票。 2)我们的用户很踊跃,平均每天要有2000万人左右通过此程序投票。 说明: 1)无需写代码,只需要图跟文字即可。 2)对于关键逻辑,请用图加代码表示出来,这也是对你文字表达能力的一个考验。 3)对你能想到的所有的边界条件列出来,这是对你逻辑思维全面与敏捷性的考验。 4)存储部分,尽你所能吧。如果,你需要一个自己设计的存储层,那么把这个存储层的实现,用文字+图片方式描述清楚,要是设计合理,你会获得华丽的奖分。 编程任务: 1、我们碰到了大麻烦,一个新来的传教士惹恼了上帝,上帝很愤怒,要求我们把圣经(bbe.txt)背熟,直至他说哪个单词,我们就要飞快的回答出这个单词在第几行第几个单词位置。听说你是个优秀的程序员,那么髟助我们完成这个不可能的任务吧。 要求如下: 1)/myworks/example/bbe.txt,98版本英文圣经一本 2)输入部分要求如下:php ./example.php [单词] 3)输出部分如下:[单词] 1,2 2,4 5,6表示:此单词在1行2列(第二个单词),2行4列...

php面试编程题汇总

=0;$i--){ $str_end.=$str[$i]; } return $str_end; } //实现中文字符截取无乱码 function GBstr($string,$start,$lenght){ if(strlen($string)>$lenght){ $len=$start+$lenght; $str_end=''; for($i=0;$i<$len;$i++){ if(ord(substr($string,$i,1))>0xa0){ $str_end.=substr($string,$i,2); $i++; } else{ $str_end.=substr($string,$i,1); } } return $str_end; } else{ return $string; } } //打印客户端和服务端ip地址 /* IP:echo $_SERVER['REMOTE_ADDR']; 或者: getenv('REMOTE_ADDR');

打印服务器IP:echo gethostbyname("https://www.360docs.net/doc/f7627536.html,") */ //准确获得服务端ip地址 function getip(){ if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')){ $ip = getenv('HTTP_CLIENT_IP'); }else if (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')){ $ip = getenv('HTTP_X_FORWARDED_FOR'); }else if (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')){ $ip = getenv('REMOTE_ADDR'); }else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')){ $ip = $_SERVER['REMOTE_ADDR']; } preg_match("/[\d\.]{7,15}/", $ip, $temp); $ip = $temp[0] ? $temp[0] : 'unknown'; unset($temp); return $ip; } //修改session生存时间 setcookie(session_name(),session_id(),$lifetime); session_set_cookie_params($lifetime); //获取网址首页的全部内容如https://www.360docs.net/doc/f7627536.html, function GetConect($address){ $judge=preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"]) *$/",$address)?true:false; if($judge){ $readcontents=fopen($address, "rb"); $contents = stream_get_contents($readcontents); fclose($readcontents); return $contents; } return file_get_contents($address); } //php中的heredoc特殊字符串 /* heredoc的语法是用"<<<"加上自己定义成对的标签,在标签范围內的文字视为一个字符串例子: $STR=<<

2021年php面试题和答案

1、用PHP打印出前一天时间格式是-5-10 22:21:21(2分) $a = date("Y-m-d H:i:s",strtotime("-1 day")); print_r($a); 2、echo(),print(),print_r()区别(3分) echo 和print不是一种函数,是一种语言构造 int print(string $arg),只有一种参数 echo arg1,arg2;可以输出各种参数,返回void echo和print只能打印出string,不能打印出构造 print_r能打印出构造 例如 $arr = array("key"=>"value"); print_r($arr); 3、可以使HTML和PHP分离开使用模板(1分) smarty,phplib 4、使用哪些工具进行版本控制?(1分) svn,git,cvs 5、如何实现字符串翻转?(3分) 英文: strrev($a)

中文或其她文字: 中文:GB2312,代码是使用GB2312编码

php程序员简历模板

php程序员简历模板 php程序员简历模板一 年龄:21学历:大专 专业技能 核心语言: 熟练应用PHP+MySQL技术,能在WAMP环境下熟练编程。 理解对于Web网站开发的安全性要求,例如防SQL注射、令牌加密等技术。 理解Web开发流程,具有OO思想,能独立开发网站。 框架技术: 熟练使用smarty模板引擎技术,TP框架开发网站。 对三层结构、MVC的开发(设计模式)有较好的理解。 数据库: 熟练应用MySQL、SQLServer2005数据库,以及使用SQL语言。 前台展现: 熟识HTML、XHTML网页技术,能熟练应用DIV+CSS样式布局设计出符合Web2.0的页面,熟练应用JavaScript、Ajax技术实现对于客户端的脚本验证,能够熟练使用Jquery类库实现对页面即点即改等功能。 开发工具: 能够使用ZendStudio-5.5.0等PHP开发工具。 掌握PhotpShop、Dreamweaver网页开发工具的使用。

熟悉php168,Ecshop二次开发工具的使用。 项目经验 人事管理系统(应用程序) 软件环境:WAMP 编程工具:EditPlus 责任描述:组内讨论需求分析以及数据建模,功能独立开发完成 项目描述:无论对于大型公司,中小型公司,都避免不了对员工的管理,对于每个公司的管理者,在任何方面都需要一个既提供标 准有提供管理的系统;对于公司的员工也希望能够了解自己的表现及 在公司的职位、职责; 让公司对员工的管理更方便,通过本系统能有效地管理工资发放、员工的考勤动态 还可实现员工的自我查看和管理;以提高公司的执行效率和经济 效益。 项目感想:该项目主要应用了smarty+Ajax等技术由于php是一种弱的语言,并不能实现面向对象的多态(重载),所以只是用到了 面向对象的编程思想。在开发的过程中也使我更加熟悉基于 Smarty+CMS的开发模式。 天元茶叶网(168二次开发) 软件环境:WAMP 开发工具:ZendStudio-5.5.0 项目描述:本次开发运用的是php168v6版本的二次开发! 这个版本主要是标签的使用,它实现了内容与设计的结合!方便 快捷 本次开发的是茶叶网,实现了php168v6版本的功能

PHP程序设计习题答案

第1章PHP开篇 习题 一、填空题 1.Apache的httpd服务程序使用的是【80 】端口。 2.在进行软件开发时有两种基本架构,B/S架构和【C/S 】架构。 3.URL的英文全称是【Uniform Resource Locator】,中文名称为【统一资源定位符 】。 4.【HTTP 】协议是计算机硬件与软件之间数据交换的格式。 5.【HTTP】表示传输数据所使用的协议,【WWW】表示要请求的服务器主机名。 二、判断题 1.使用PHP写好的程序,在Linux和Windows平台上都可以运行。(√) 2.PHP可以支持MySQL数据库,但不支持其它的数据库。(×) 3.PHP有很多流行的MVC框架,这些框架可以使PHP的开发更加快捷。(√) 4.Zend Studio是PHP中常用的IDE(集成开发环境)。(√) 5.进行PHP程序开发时,可以借助软件和工具来提高效率。(√) 三、选择题 1.下列选项中,不是URL地址中所包含的信息是( D )。 A. 主机名 B. 端口号 C. 网络协议 D. 软件版本 2.PHP是一种( A)的编程语言。 A. 解释型 B. 编译型 C. 两者都是 D. 两者都不是 3.PHP是个网站开发中非常流行的脚本语言,其流行的原因不包含( C )。 A. 易学 B. 易用 C. 易调试 D. 易扩展 4.PHP与Linux、Apache和MySQL一起共同组成了一个强大的Web应用程序平台,下 列选项中为该平台简称的是(B )。 A. WAMP B. LAMP C. LNMP D. WNMP 5.在下列选项中,哪些不属于PHP的突出特点( B )。 A开源免费 B. 开发成本高 C. 跨平台性 D. 支持多种数据库 四、简答题 1.请简要说明PHP的突出特点是什么? 1.开源免费2跨平台性3.面向对象 4.支持多种数据库 5.快捷性.

PHP面试题目

“中欧商业在线”PHP笔试 一、编程题 1、如何实现字符串翻转?(PHP) 答:可以用下面这个自定义函数 function getStr($str){ //输入字符串 $len=strlen($str); //计算字符串长度 for ($i=0;$i<$len/2;$i++){ $temp=$str[$i]; $str[$i]=$str[$len-$i-1]; $str[$len-$i-1]=$temp; } return $str; //返回翻转结果 } 2、解释这则用JS写得正则表达式。 /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/ 答:匹配以数字字母开头不能出现-+.,必需有一个@,再以数字字母开始,不能有-+.,只能有一个点,以字母结尾 3、用PHP写一个程序连接MYSQL数据库,并查出 4、DIV+CSS布局 https://www.360docs.net/doc/f7627536.html,首页 由于时间关系!布局没有做完。 5、用任何语言写一个排序函数 答:function getrange($a,$b) //假如传进来的是数字或字母 { //按数字升序排序 $num1=array($a,,$b); sort($num1,SORT_NUMERIC); foreach ($num1 as $mychrs1) { echo $mychrs1." ";

腾讯PHP工程师笔试题

1.请对POSIX风格和兼容Perl风格两种正则表达式的主要函数进行类比说明ereg preg_match ereg_replace preg_replace 2.请说明在php.ini中safe_mode开启之后对于PHP系统函数的影响3.PHP5中魔术方法函数有哪几个,请举例说明各自的用法 __sleep __wakeup __toString __set_state __construct, __destruct __call, __get, __set, __isset, __unset __clone __autoload

4.请写出让,并说明如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数?5.PHP的垃圾收集机制是怎样的 6.使对象可以像数组一样进行foreach循环,要求属性必须是私有。 (Iterator模式的PHP5实现,写一类实现Iterator接口) 7.请写一段PHP代码,确保多个进程同时写入同一个文件成功 8.用PHP实现一个双向队列 9.使用正则表达式提取一段标识语言(html或xml)代码段中指定标签的指定属性值(需考虑属性值对不规则的情况,如大小写不敏感,属性名值与等号间有空格等)。此处假设需提取test标签的attr属性值,请自行构建包含该标签的串

10.请使用socket相关函数(非curl)实现如下功能:构造一个post请求,发送到指定http server 的指定端口的指定请求路径(如https://www.360docs.net/doc/f7627536.html,:8080/test)。请求中包含以下变量: 用户名(username):温柔一刀 密码(pwd):&123=321&321=123& 个人简介(intro):Hello world! 且该http server需要以下cookie来进行简单的用户动作跟踪: cur_query:you&me last_tm:...(上次请求的unix时间戳,定为当前请求时间前10分钟) cur_tm:...(当前请求的unix时间戳) 设置超时为10秒,发出请求后,将http server的响应内容输出。 1.Function encode($data, $sep = ‘&’){ 2.while (list($k,$v) = each($data)) { 3.$encoded .= ($encoded ? "$sep" : ""); 4.$encoded .= rawurlencode($k)."=".rawurlencode($v); 5.} 6.Return $encoded; 7.} 8. 9.Function post($url, $post, $cookie){

比较基础的php面试题及答案

比较基础的php面试题及答案 填空题:1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量__$_SERVER[PHP_SELF]__中;而链接到当前页面的URL记录在预定义变量__$_SERVER[HTTP_REFERER]__中2.执行程序段将输出__0__。3.在HTTP 1.0中,状态码401 的含义是____;如果返回“找不到文件”的提示,则可用header 函数,其语句为____。4.数组函数arsort 的作用是__对数组进行逆向排序并保持索引关系__;语句error_reporting(2047)的作用是__报告所有错误和警告__。5.PEAR中的数据库连接字符串格式是____。6.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把scrīpt标记及其内容都去掉):preg_replace(“//si”, “newinfo”, $script);7.以Apache 模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,然后再用语句____使得Apache把所有扩展名为php 的文件都作为PHP脚本处理。LoadModule php5_module “c:/php/php5apache2.dll”, AddType application/x-httpd-php .php,8.语句include 和require 都能把另外一个文件包含到当前文件中,它们的区别是____;为了避免多次包含同一文件,可以用语句__require_once||include_once__来代替它们。9.类的属性可以序列化后保存到session 中,从而以后可以恢复整个类,这要用到的函数是____。10.一个函数的参数不能是对

第7讲:mysqli扩展库(面向对象、面向过程)

mysqli 1.mysqli (mysql improve) mysql扩展库的增强版 2.mysql 与mysqli 的比较 ①mysqli 的稳定性和安全性,效率有所提高 ②mysqli 支持面向对象编程,同时支持为了照应老程序员,也提供了面向过程的编程风格。 3.mysqli 类:代表php和mysql数据库之间的一个连接。 4.mysqli操作mysql数据库的步骤 ①创建mysqli 对象//验证 ②操作数据库(发送sql) ③处理结果 ④关闭资源 5.实例:mysqli扩展库面向对象的方式操作数据库 connect_error){ //1111验证 die("失败".$mysqli->connect_error); } $sql="select * from words"; //2222222 发送指令 $res=$mysqli->query($sql); //33333333接受=发送的指令的返回结果while($row=$res->fetch_row()){ //3333对结果进行处理foreach($row as $key=>$val){ echo "--$val"; } echo "
"; } $res->free(); //44444 关闭资源 $mysqli->close(); ?> 注: 1.面向对象中,程序中的$res用于代表sql语句的执行结果 ①如果执行的事dml语句,则返回bool; ②如果执行的事dql语句,则返回查询结果mysqli_result 结果集对象。

php程序员面试题(b卷_附答案)

1.以下哪一句不会把John 新增到users 阵列? $users[] = 'john'; 成功把John 新增到阵列users。 array_add($users,’john’); 函式array_add() 无定义。 array_push($users,‘john’); 成功把John 新增到阵列users。 $users ||= 'john'; 语法错误。 2.sort()、assort()、和ksort() 有什么分别?它们分别在什么情况下使用? sort() 根据阵列中元素的值,以英文字母顺序排序,索引键会由0 到n-1 重新编号。主要是当阵列索引键的值无关疼痒时用来把阵列排序。 assort() PHP 没有assort() 函式,所以可能是asort() 的笔误。 asort() 与sort() 一样把阵列的元素按英文字母顺序来排列,不同的是所有索引键都获得保留,特别适合替联想阵列排序。 ksort() 根据阵列中索引键的值,以英文字母顺序排序,特别适合用于希望把索引键排序的联想阵列。 3.以下的代码会产生什么?为什么? $num =10; function multiply(){ $num =$num *10; } multiply(); echo$num; 由于函式multiply() 没有指定$num 为全域变量(例如global $num 或者$_GLOBALS['num']),所以$num 的值是10。 4. reference 跟一个正规的变量有什么分别?如何pass by reference?在什么情况下我们需要这样做? Reference 传送的是变量的地址而非它的值,所以在函式中改变一个变量的值时,整个应用都见到这个变量的新值。 一个正规变量传送给函式的是它的值,当函式改变这个变量的值时,只有这个函式才见到新值,应用的其他部分仍然见到旧值。 $myVariable = "its' value"; Myfunction(&$myVariable); // 以reference 传送参数以reference 传送参数给函式,可以使函式改变了的变量,即使在函式结束后仍然保留新值。 5.些函式可以用来在现正执行的脚本中插入函式库? 对这道题目不同的理解会有不同的答案,我的第一个想法是插入PHP 函式库不外乎include()、include_once()、require()、require_once(),但细心再想,“函式库”也应该包括com 物件和.net 函式库,所以我们的答案也要分别包括com_load 和dotnet_load,下次有人提起“函式库”的时候,别忘记这两个函式。

php面试题及答案

php面试题及答案,经典php笔试题与答案 问题 1.考虑如下脚本。标记处应该添加什么代码才能让脚本输出字符串 php? $alpha = 'abcdefghijklmnopqrstuvwxyz'; $letters = array(15, 7, 15); foreach($letters as $val) {/* 这里应该加入什么 */ } ?> A.echo chr($val); B.echo asc($val); C.echo substr($alpha, $val, 2); D.echo $alpha{$val}; E.echo $alpha{$val+1} 2.以下哪一项不能把字符串$s1 和$s2 组成一个字符串? A.$s1 + $s2 B.”{$s1}{$s2}” C.$s1.$s2 D.implode(”, array($s1,$s2)) E.以上都可以 3.变量 $email 的值是字符串 user@https://www.360docs.net/doc/f7627536.html, ,以下哪项能把字符串转化成 https://www.360docs.net/doc/f7627536.html,? A.substr($email, strpos($email, “@”));

B.strstr($email, “@”); C.strchr($email, “@”); D.substr($email, strpos($email, “@”)+1); E.strrpos($email, “@”); 4.给定一个用逗号分隔一组值的字符串,以下哪个函数能在仅调用一次的情况下就把每 个独立的值放入一个新创建的数组? A.strstr() B.不可能只调用一次就完成 C.extract() D.explode() E.strtok() 5.要比较两个字符串,以下那种方法最万能? A.用 strpos 函数 B.用==操作符 C.用 strcasecmp() D.用 strcmp() 6.以下哪个 PCRE 正则表达式能匹配字符串 php|architect? A..* B.…|……… C.\d{3}\|\d{8} D.[az]{3}\|[az]{9} E.[a-z][a-z][a-z]\|\w{9} 7.以下哪些函数能用来验证字符串的完整性?(三选)

PHP面向对象和PHP面向过程的优缺点评比

P H P面向对象和P H P面 向过程的优缺点评比 Revised by Petrel at 2021

PHP面向对象和PHP面向过程的优缺点评比 面向对象与面向过程在许多编程语言中只能使用二者之一来进行编程,但是PHP语言与其他编程语言有不同之处,那就是我们可以自由的选择或者将PHP面向对象和PHP面向过程二者混用。目前绝大多数PHP程序员使用面向过程的方式,因为解析Web页面本身就非常“过程化”(从一个标签到另一个标签)。在HTML中嵌入过程处理代码是很直接自然的作法,所以PHP程序员通常使用这种方式。 如果你是刚接触PHP,用PHP面向过程的风格来书写代码很可能是你唯一的选择。但是如果你经常上PHP论坛和新闻组的话,你应该会看到有关“对象”的文章。你也可能看到过如何书写面向对象的PHP代码的教程。或者你也可能下载过一些现成的类库,并尝试着去实例化其中的对象和使用类方法--尽管你可能没有真正理解这些类为什么可以工作,或者为什么需要使用PHP面向对象的方法来实现功能。 应该使用“面向对象”的风格还是“面向过程”的风格?双方各有支持者。像“对象是低效的”或“对象非常棒”这样的议论也时有耳闻。本文不尝试轻易判定两种方法的哪种具有绝对的优势,而是要找出每种方法的优缺点。 以下是PHP面向过程风格的代码示例: 以下是PHP面向对象风格的代码示例: myPrint(); > 如果你想了解一些“面向对象”的基本知识,请使用Google搜索,网络上有非常多精彩的文章。 谁像这样写代码? 为了理解为什么这个论题成为论坛上口水战的导火线,我们看一些每个阵营的比较极端的例子。我们看看“过程狂热”和“对象狂热”。看看他们的观点听起来是不是有点熟悉。 过程狂热 过程狂热曾在上课时被计算机教师批评,因为这种方法没有使用更加抽象的实现方式。而支持PHP面向过程者的观点“它可以工作!”并不能提高其编程水平和

2010 腾讯php程序员面试题目

2010 腾讯php程序员面试题目 说在前面: 1、以下题目,除了编程任务外其他都需要写在给你提供的草纸上。纸张是珍贵的地球资源,请节约使用。编程任务在有相应的环境时,会要求上机书写,实在没有条件,就只能写在草纸上了。 2、时间: 基础任务+进阶任务+设计任务=90分钟 编程任务=60分钟 基础任务: 1、请列举你能想到的UNIX信号,并说明信号用途。 2、请列举、你能想到的所有的字符串查找算法,并加注释简单说明。 3、有一个IP地址(192.168.0.1),请写出其32位无符号整数形式。 4、写出、你能想到的所有HTTP返回状态值,并说明用途(比如:返回404表示找不到页面) 基础任务-选作(会得到额外分数): 1、画几个你最熟悉的SERVER端模型出来(格式不重要,尽量将图画清楚,说明思路即可) 进阶任务: 1、PHP的垃圾收集机制是怎样的? 说明: 1)如果,你熟悉PHP源码,那么请从源码入手,回答些问题,会获得额外加分 2)如果,你不熟悉PHP源码,那么尽你所能,多写点东西,包括利用自己的编程直觉得到的信息,都可以。 3)对,则有分,错误不扣,不写无分。 2、请写出HTTP头,并符合以下要求: 1)这是一个post请求 2)目标:https://www.360docs.net/doc/f7627536.html,:8080/test 3)POST变量: username: test pwd: test2 intro: Hello world! 4)包含以下COOKIE信息: cur_query: you&me 说明: 1)如果,你记不得某个HTTP协议中的指令字了,那么,无奈这举是用“汉字”代替。 2)如果,你能记住更多的HTTP协议指令字,那么多写几句,总是没坏处,对吧? 3)最关键的,只需要画出正确的“轮廓”(还记得httpwatch等工具打印出来的头部吗?那就是“轮廓”的含义),也会有分数,但如果,连“轮廓”都写错了,那么就很遗憾了。

PHP中级面试题

姓名:__________ 面试时间:___________ 1、使用过哪些版本控制器 2、使用过哪些框架 3、从上家公司离职的原因 一、基础技能题 1、实现中文字串截取无乱码的方法 2、php5的构造函数和析构函数及具体作用。 3、HTTP协议中几个状态码的含义:503 500 401 403 404 200 301 302。 4、Include require include_once require_once 的区别 5、请写出0/false/null之间的关系 二、计算题

6、 $count = 5; function get_count() { static $count = 0; return $count++; } ++$count; echo get_count(); echo get_count(); 7、 echo count(null); echo count(false); 8、 $a = 3; $b = 5; if($a = 5 || $b = 7) { $a++; $b++; } echo $a . " " . $b; 9、 function get_arr($arr){ unset($arr[0]); } $arr1 = array(1, 2); $arr2 = array(1, 2); get_arr(&$arr1); get_arr($arr2); echo count($arr1); echo count($arr2); 三、程序编写题

1、使用PHP描述冒泡排序算法,对象可以是一个数组 2、使用PHP描述快速排序算法,对象可以是一个数组 3、如何实现字符串翻转(注* 不可使用内置字符串翻转函数) 四、扩展题 1、请谈谈你对php动态抓取的认识。 2、你做过最得意的项目是什么做这个项目中都遇见了哪些问题后来是怎么解决的 …

php面试题及答案,经典php笔试题与答案

问题 1.选择合适的答案填入空白处 PHP 是一种______脚本语言,基于______引擎。PHP 最常被用来开发动态的 ______内 容,此外,它同样还可被用来生成______(以及其他)文档。 A.动态,PHP,数据库,HTML B.嵌入式,Zend,HTML,XML C.基于 Perl 的,PHP,Web,静态 D.嵌入式,Zend,Docbook 文档,MySQL E.基于 Zend 的,PHP,图像,HTML 1.唯一有意义的答案是 B。PHP 是一种基于 Zend 引擎的脚本语言,它通常被嵌入在 HTML 代码中。它主要被用来开发 HTML 文档,但是也可以用它来开发其他类型的文档,比 如 XML。 2.以下哪种标签不是 PHP 起始/结束符? A.<% %> B.// C. D./* */ E.

2. PHP 编程中,人们不太使用<% %>和两个标签,但它们确实是合法的 PHP 界定符。 标签是非法的,因此正确的答案是 D。记住,根据 php.ini 文件中的配置不同,这 当中的某些标签无法在特定的情况下使用。 3.以下代码哪个不符合 PHP 语法? A.$_10 B.${“MyVar”} C.&$something D.$10_somethings E.$aVaR 3. PHP 变量以一个美元符号为开头,后面跟上任意数量的数字、字母和下划线。${“MyVar”} 是一个合法的变量名,它使用的是较松散的命名约定。&$something 是对$something 的 引用。然而,变量名不能以数字为开头,$10_somethings 是非法的,因此答案是 D。 4.运行以下代码将显示什么? define(myvalue, "10"); $myarray[10] = "Dog"; $myarray[] = "Human"; $myarray['myvalue'] = "Cat"; $myarray["Dog"] = "Cat";

PHP面向对象知识总结

面向对象知识: 1 你对面向对象的认识 2 什么是类?什么是对象?类和对象之间的关系? 类:类是具有相同属性和行为的一组对象的集合 对象:对象是实际存在的该类事物的每个个体,因而也称实例 类和对象的关系:类是对象的抽象,对象是类的实例 3 面向对象的3大特征 继承,封装,多态 4 怎么创建一个类的对象? 使用new 这个关键字创建对象 5 什么是构造方法(函数)?怎么定义?有什么样的特点? 构造方法(在OO中,函数被称为方法) 1 特殊的名称:__construct 2 在实例化对象时,自动被调用 3 在内存中划分了对应的内存空间区域 4 构造方法可以像普通方法一样,接收参数;这里的参数通常是用来初始化类中的属性的 5 构造方法不能重复定义,每个类当中有且只能有一个;如果不写相当于有一个默认的不带参数且没有任何执行语句的空函数 6 什么是析构方法(函数)?怎么定义?有什么特点? 析构函数:当某个对象成为垃圾或者当对象被显式销毁时执行。 __destruct() 析构函数,是在垃圾对象被回收时执行。 析构函数也可以被显式调用,但不要这样去做。 析构函数是由系统自动调用的,不要在程序中调用一个对象的虚构函数。 析构函数不能带有参数。 7 什么是封装?有什么作用?列举一些封装的实例 封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐藏对象的内部细节。 优点:信息隐蔽,封装即隐藏(目的:不能让别人随意修改信息)。 怎么实现封装? (1.访问修饰符(public、protected、private) (2.类 (3.函数方法 (4.文件 (5.文件夹 8 访问修饰符有哪3个?分别有什么作用、特点 public 公共的谁都可以用,也可以修改 protected 受保护的只有自己和后代可以使用和修改 private 私有的只有自己可以使用和修改 9 什么是继承?关键字是什么?有什么作用? 继承:扩展父类的内容,注意只能继承public和protected修饰的内容,而private 修饰的则不能继承 关键字:extends

腾讯php面试答案

设计任务: 1、最近总有人骚扰我们的投票模块,需要你来设计一个投票限制的东东 要求如下: 1)要求每个QQ号码(假设此QQ号码在UNIT32 内可以表示)10分钟这内只能投5票。2)我们的用户很踊跃,平均每天要有2000万人左右通过此程序投票。 说明: 1)无需写代码,只需要图跟文字即可。 2)对于关键逻辑,请用图加代码表示出来,这也是对你文字表达能力的一个考验。 3)对你能想到的所有的边界条件列出来,这是对你逻辑思维全面与敏捷性的考验。 4)存储部分,尽你所能吧。如果,你需要一个自己设计的存储层,那么把这个存储层的实现,用文字+图片方式描述清楚,要是设计合理,你会获得华丽的奖分. 解答: 核心问题:如何统计10分钟之内投了5票? 首先:以秒为键切分数据集,10*60=600个时间戳桶,并添加一个Forbid令牌桶 然后:每个数据集内,以qq号码为键,vote次数为值 OK,已经成功转换为key-value方式存储,2000万的日投票,除以86400秒,并发231.48rps,使用memcache能够轻松胜任。 数据集ID:201006072134 【QQ号码:Vote次数】 201006072134 | 201006072135 | 201006072136 【12345:3】| 【12345:3】| 【12345:3】

【88888:2】| 【88888:3】| 【88888:3】 把下一秒钟不能投票的同学生成一个令牌桶Forbid。―――――- Forbid令牌桶 【12345】 【55555】 【66666】 【77777】 【99999】 ―――――- if(in_array($uid,$not_vote)) { $flag = ‘不能投票’; } else { $flag = ‘可以投票’; //insert 新时间戳桶 } 定时任务 1、unset(10分钟前的时间戳桶)

最全最详细的PHP面试题(带有答案)

1 php面试题及答案(原创)收藏 基础题: 1.表单中get与post提交方法的区别? 答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息. 2.session与cookie的区别? 答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放 cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。 两者都可通过时间来设置时间长短 3.数据库中的事务是什么? 答:事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成, 事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。 简述题: 1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)**************** 答:echo date('Y-m-d H:i:s', strtotime('-1 days')); 2、echo(),print(),print_r()的区别(3分) 答:echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print()只能打印出简单类型变量的值(如int,string) print_r()可以打印出复杂类型变量的值(如数组,对象) echo 输出一个或者多个字符串 3、能够使HTML和PHP分离开使用的模板(1分) 答:Smarty,Dwoo,TinyButStrong,Template Lite,Savant,phemplate,XTemplate 5、使用哪些工具进行版本控制?(1分) 答:cvs,svn,vss; 6、如何实现字符串翻转?(3分) 答:echo strrev($a); 7、优化MYSQL数据库的方法。(4分,多写多得) 答: 1、选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOT NULL,例如'省份,性别',最好设置为ENUM 2、使用连接(JOIN)来代替子查询: 3、使用联合(UNION)来代替手动创建的临时表 4、事务处理:

PHP 面试笔试题--选择题部分

1.以下哪种类型是B/S构架的正确描述?(C) A. 需要安装客户端的软件 B. 不需要安装就可以使用的软件 C. 依托浏览器的网络系统 D. 依托outlook等软件的邮件系统? 2.PHP中,单引号和双引号所包围的字符串有什么区别?(AD)(选择两项) A. 单引号速度快,双引号速度慢 B. 双引号速度快,单引号速度慢 C. 两者没有速度差别 D. 双引号解析其中以$开头的变量,而单引号不解析 3.下面哪个不是合法的SQL的归类函数?(E) A. AVG B. SUM C. MIN D. MAX E. CURRENT_DATE() 4.若y , x为int型变量,则执行以下语句后,y的值为(B) x=1; ++x; y = x++; A、1 B、2 C、3 D、0 5.以下代码执行结果为:(A) A 30 B 24linux6 C 6 D 30linux 6.PHP是一种什么型的语言:(C) A、编译型 B、解释型 C、两者都是 D、两者都不是 7.下列描述正确的是(B) A、JavaScript是一种编译型语言 B、JavaScript是一种基于对象和事件驱动的编程语言 C、JavaScript中变量声明采用强定义类型 D、JavaScript采用静态联编 8.要想在网页中输出”<”正确的方法是(B) A: & B: < C: > D: ” 9.创建一个滚动菜单的HTML代码是?(D) A.

B. C.