T1
一、填空题
1.PHP是用什么语言编写的?
:脚本语言
2. LAMP的全称是?
:LINUX 、APACHE、MYSQL、PHP
3. PHP的三种注释方式?
:#、//、/**/
4. PHP使用什么符号定义变量?
:$
二、简答题
1. 请列出PHP的8种数据类型。?
:整型、浮点型、字符串、数组、逻辑、对象、NULL、资源型
:资源RESOURCE是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。
2. 写出如下程序的输出结果?
$TEST = ‘AAAAAA’;
$ABC = & $TEST;
UNSET($TEST);
ECHO $ABC;
?>
:AAAAAA
3.
4.$I=2,编程实现判断$I是否为整型,是则输出$I,不是则输出“非整型变量”?
$L=2
IF(IS_INT($L)){
ECHO $L;
}ELSE{
ECHO “非整型变量”;
}
IS_ARRA Y IS_BOOL I S_CALLABLE IS_DOUBLE IS_FLOA T IS_ALONG
IS_NUMBERIC IS_OBJECT IS_RESOURCE IS_STRING
T2
PHP基础部分
1. 以下PHP代码的输出结果?
$I=10;
$N = $I++;
ECHO $N, $I++, ++$I
:10,11,13
2. INCLUDE与REQUIRE的区别?
:REQUIRE 的使用方法如REQUIRE("MYREQUIREFILE.PHP"); 。这个函数通常放在PHP 程序的最前面,PHP 程序在执行前,就会先读入REQUIRE 所指定引入的文件,使它变成PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。INCLUDE 使用方法如INCLUDE("MYINCLUDEFILE.PHP"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到INCLUDE 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
他们两个的用途是完全一样的,不一定非得哪个放在最前面哪个放在中间。他们最根本的区
别在于错误处理的方式不一样。
REQUIRE一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误INCLUDE一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。
3. 以下代码,是判断字符串中是否存在#符号, 错误之处在于?
IF ( STRPOS($STR, “#”)) { … }
: 如果#在字符串的首位那就是返回0,PHP会将0自动转换成FALSE进行判断,因此错误,正确写法是:IF ( STRPOS($STR, “#”) !== FALSE) { … }
4. 程序代码使用UTF-编码,以下代码输出结果是什么?STRLEN函数是计算字符串的字节数还是字符数?$STR = “您好HELLO”;ECHO STRLEN($STR);
:UTF-8:对英文使用8位(1个字节),对中文使用24位(3个字节)来编码,对于英文较多的论坛使用UTF-8比较节省空间
GBK:使用双字节编码,不论中英文字符,为了区分中文,将其最高位定义为1
STRLEN: 返回给定的字符串STRING的长度,计算的是字节数
5. 什么是时间戳? 时间戳能代表的最小年份和最大年份是多少?
:时间戳是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数;时间戳能代表的最小年份是1970,最大年份是2038年INT TIME ( VOID )返回自从 UNIX 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。
6. PHP.INI配置文件中MAGIC_QUOTES_GPC, MAGIC_QUOTES_RUNTIME的作用是什么?应该开启还是关闭?
:PHP MAGIC_QUO TES_GPC=ON的情况:我们可以不对输入和输出数据库的字符串数据作ADDSLASHES()和STRIPSLASHES()的操作,数据也会正常显示。你对输入的数据作了ADDSLASHES()处理,那么在输出的时候就必须使用STRIPSLASHES()去掉多余的反斜杠。PHP
MAGIC_QUOTES_GPC=OFF的情况:使用ADDSLASHES()对输入数据进行处理,但并不需要使用STRIPSLASHES()格式化输出,因为ADDSLASHES()并未将反斜杠一起写入数据库,只是帮助MYSQL
完成了SQL语句的执行。
MAGIC_QUOTES_RUNTIME 转义字符:当你的数据中有一些 \ ”‘这样的字符要写入到数据库里面,又想不被过滤掉的时候,它就很有用,会在这些字符前加上\
7. 现有一个文本体积大约2G, 计算机内存只有1G, 需要使用PHP对数据进行分析,如何读取如此体积的文件?分行读取,FOPEN、FREAD当然还可以使用FSEEK
FOPEN() 将FILENAME指定的名字资源绑定到一个流上。
STRING FREAD ( RESOURCE $HANDLE , INT $LENGTH ):FREAD() 从文件指针HANDLE 读取最多LENGTH 个字节。
HANDLE:文件系统指针,是典型地由 FOPEN() 创建的 RESOURCE(资源)。
8. PHP的序列化各反序列化,有何用途?
序列SERIALIZE是为了产生一个可存储的值,便于存储除RESOURCE类型的所有数据,反序列UNSERIALIZE即将序列的数据还原为原来的值
9. PHP的魔术方式包含哪些(越多越好)?在何情况下被自动调用?
以下为总结的在使用类时可用的魔术方法,魔术方法会在某种待定情况下被自动调用,但前提是该方法被定义。有些方法不一定要定义在类中,还可以写在程序中作为一个函数。
__CONSTRUCT() 构造函数,创建对象时自动调用
__DESTRUCT() 析构函数,不需要创建
__CLONE() 克隆函数,调用CLONE方法时自动调用
__SET() 当程序试图写入一个不存在或不可见的成员变量时自动调用。该函数在类中定义时必须有两个参数:变量称和变量值。
__GET() 当程序调用一个未定义或不可见的成员变量时自动调用__GET()来读取变量值。定义时必有有一个参数:变量名
__CALL() 当程度试图调用不存在或不可见的成员方法时,自动调用__CALL()来存储方法名及其参数。该方法包含两个参数:方法名和方法参数。其中方法参数以数组形式存在。
__SLEEP() 使用SERIALIZE()实现序列化对象时,先执行该方法,清除对象并返回一个该对象中所有变量的数组。
__WAKEUP() 使用UNSERIALIZE()还原一个被序列化的对象时,先执行该方法,恢复在序列化中可能丢失的数据库连接及相关工作
__TOSTRING() 当使用ECHO或PRINT输出对象时,将对象转化为字符串
__AUT OLOAD() 调用未被实例化的类时,自动调用,在指定路径下查找和该类名称相同的文件。
10. ARRA Y ACCESS接口的作用是什么?
让对象使用起来像一个PHP数组,而不用使用对象操作符->直接使用数组符号[]就可
以了
11. PHP类的静态成员变量与非静态成员变量有何区别?
静态成员变量:可以用类名直接访问,也可以用类的实例化来访问,静态成员变量是所有对象共用的,只有一份,不会为每一个对象都分配一个不同的值
非静态成员变量:不可以直接使用类名访问,需用实例化来访问,为对象独有的
12. 如何记录PHP程序错误至系统日志(如WINDOWS的事件查看器,LINUX的SYSLOG)?
编辑PHP.INI配置文件,修改或添加
LOG_ERRORS = ON
ERROR_LOG = SYSLOG
13. SQL注入最有效的防御方式是什么?
参数化查询,参数格式是以“?” 字符加上参数名称而成。例如:UPDATE MYTABLE SET C1 = ?C1, C2 = ?C2, C3 = ?C3 WHERE C4 = ?C4
因为:1、参数过滤2.执行计划重用
MYSQL数据库部分(MYSQL版本为 5.0+)
1. 假设MYSQL数据表使用UTF-8编码, 数字类型均使用指出以下各个数据类型的范围和长度
类型字节数值范围
UNSIGNED TINYINT(2)
UNSIGNED SMALLINT(3)
UNSIGNED MEDIUMINT(4)
UNSIGNED INT(5)
UNSIGNED BIGINT(6)
2. 假设MYSQL数据表使用UTF-8编码, 填写以下表格
类型最大字节数最长字符数
CHAR(100)
V ARCHAR(200)
3. CHAR(100)与V ARCHAR(100)有何区别?
CHAR(N)是定长格式,格式为CHAR(N)的字段固定占用N个字符宽度,如果实际存放的数据长度超过N将被截取多出部分,如果长度小于N就用空字符填充。
V ARCHAR(N)是变长格式,这种格式的字段根据实际数据长度分配空间,不浪费对于的空间,但是搜索数据的速度会麻烦一点。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。
一般地说,只要一个表有一个字段定义为V ARCHAR(N)类型,那么其余用CHAR(N)定义的字段实际上也是V ARCHAR(N)类型。
4. 如何查看某个SQL的执行计划,以便分析其性能问题?
SELECT * FROM SYS.SYSCACHEOBJECTS
5. MYISAM与INNODB存储引擎有何差别?类似CMS, BBS应用,使用哪一种引擎更好?
HTTP协议
1.HTTP 200, 404, 304状态码般是何含义?
200:访问成功(表示一切正常,返回的是正常请求结果)
302:临时重定向(指出被请求的文档已被临时移动到别处,此文档的新的URL在LOCA TION响应头中给出)
304:未修改(表示客户机缓存的版本是最新的,客户机应该继续使用它。)
404:访问的文件不存在(服务器上不存在客户机所请求的资源)
500:内部服务器错误(服务器端的CGI、ASP、JSP等程序发生错误)
2. HTTP GZIP压缩传输, 是怎么回事?
3. 一些网站(如BAIDU, https://www.wendangku.net/doc/543951929.html,),使用手机和电脑访问相同域名时,呈现的页面并不相同, 如何实现?
4. COOKIE与SESSION的关系?,禁用浏览器的COOKIE, SESSION能正常工作吗?
(1) COOKIES 方式,在https://www.wendangku.net/doc/543951929.html,E_TRANS_SID=0 AND https://www.wendangku.net/doc/543951929.html,E_COOKIES = 1的情况下使用。这种方法是每次浏览器端点每个请求,都把SESSIONID发送到服务器。
(2) URL回写,https://www.wendangku.net/doc/543951929.html,E_ONL Y_COOKIES = 0 AND https://www.wendangku.net/doc/543951929.html,E_TRANS_SID=1的情况下,服务器会忽略https://www.wendangku.net/doc/543951929.html,E_TRANS_SID,在浏览器发HHTP请求后,服务器会在返回页面内容中每个连接后面加上PHPSESSID=05DBFFFD3453B7BE02898FDCA4FCD82B (在PHP.INI没改https://www.wendangku.net/doc/543951929.html,,默认是PHPSESSID),这样就算客户端的浏览器禁止了COOKIES,一样能实现SESSION功能。
5. 默认情况下,SESSION在浏览器关闭时将失效,如果要延长SESSION的生存周期(比如一个月),如何
处理?
6. XSS, CSRF攻击如何防止?
7. 如何给动态文件(如PHP页面)作浏览器缓存?(即第二次刷新浏览器时,返回304状态)
8. 在HTTP 应用程序层,来源 IP 的重要性不言而语,例如表单提交限制,频率等等均需要客户端 IP 信息。使用流行的 DISCUZ X2.5 的文件 SOURCE/CLASS/DISCUZ/DISCUZ_APPLICA TION.PHP 中的代码片断:
PRIV A TE FUNCTION _GET_CLIENT_IP() {
$IP = $_SERVER['REMOTE_ADDR'];
IF(ISSET($_SERVER['HTTP_CLIENT_IP']) && PREG_MA T CH(‘/^([0-9]{1,3}\.){3}[0-9]{1,3}$/’, $_SERVER['HTTP_CLIENT_IP'])) {
$IP = $_SERVER['HTTP_CLIENT_IP'];
此程序代码,存在“IP伪造”之漏洞,如何处理?
前端技术
1. AJAX是无法跨顶级域名的,那么要实现跨域名AJAX数据获取,有哪些方法?
2. 是否熟悉JQUERY?
3. AJAX应用中,JSON格式为何流行?
综合技术
1. MEMCACHE是否使用过?,它的分布式是由客户端还是服务器端实现的?
2. 是否使用过版本控制工具(如SVN)?它的作用是什么?
3. 是否编写过PHP CLI程序?
4. 如何处理大数据表分页(如包含数千万记录的数据表,使用MYSQL LIMIT性能会很差)?
5. 大流量网站一般的构架技术有哪些?
T3
1.写一个函数,算出两个文件的相对路径,如:
1.$A = ‘/A/B/C/D/E.PHP’;
2.$B =’/A/B/12/34/C.PHP’;
$A = '/A/B/C/D/E.PHP';
$B ='/A/B/12/34/C.PHP';
$PATH1 = EXPLODE('/',DIRNAME($A));
$PATH2 = EXPLODE('/',DIRNAME($B));
$ALEN = COUNT($PATH1);
$BLEN = COUNT($PATH2);
$MAXLEN = MAX($ALEN,$BLEN);
FOR($I = 1; $I < $MAXLEN; $I++){
IF($PATH1[$I] != $PATH2[$I] && ISSET($PATH1[$I])){
IF(ISSET($PATH2[$I]))$BURL[]=$PATH2[$I];
$PATH .= "../";
}ELSE{
$BURL[]=$PATH2[$I];
}
}
ECHO $PATH.IMPLODE('/',$BURL).'/'.BASENAME($B);
?>
EXPLODE():
T4
1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21
DATE_DEFAULT_TIMEZON E_SET(‘ASIA/SHANGHAI’);
$TIMES = TIME()-86400;
ECHO DATE(‘Y-M-D H:I:S’,$TIMES);
2、ECHO(),PRINT(),PRINT_R()的区别
ECHO 只能打印字符串
PRINT 可以打印字符串和数组中指定的值
PRINT_R 打印数组中所有的值,不能打印字符串
3、能够使HTML和PHP分离开使用的模板
4、如何实现PHP、JSP交互?
JSP = JAVASERVERPAGE
5、使用哪些工具进行版本控制?
使用过SVN
6、如何实现字符串翻转?
STRREV($STR)
7、优化MYSQL数据库的方法。
根据事务处理机制,采用INNDB表或MYISAM表。
优化SQL语句,优化表字段结构。
8、谈谈事务处理
是指把若干个字操作组成一个完整的操作,保证这个完整的操作要么全部成功,要么全部失败。而不会部分成功,部分失败。一次银行转账有两个操作,从A账户扣钱,给B账户加钱。这是两个自操作,但整个操作必须是一个事务的,以保证不会出错。一般提到事务,多半指数据库事务,在开始一个事务前,调用TRANS BEGIN,全部搞定后TRANS COMMIT。当中出问题了自动回滚,也可以需要的时候手动ROLLBACK。但基本就是:
BEGIN,COMMIT,ROLLBACK。
9、APACHE+MYSQL+PHP实现最大负载的方法
采用缓存机制:静态缓存,MEMCACHE等。根据事务处理机制,采用INNDB表或MYISAM 表。
优化SQL语句,优化表字段结构。
10、实现中文字串截取无乱码的方法。
从指定位置开始截取1位,判断ASS码范围(ORD函数),根据不同情况截取1,2,3位长度。存入数组。下一次截取响应往后1,2,3位。依次类推。最后合并数组为字符串,打印字符串。
11. 用PHP写一段代码,实现不使用第3个变量,交换$A、$B的值,$A、$B的初始值自己定。
思路:将两个变量拼接然后在根据下表截取
$A = “ABCD”
$B = “1234″;
ECHO “初始化时A=$A,B=$B
”;
$A = $A . $B;
$B = STRLEN( $B );
$B = SUBSTR( $A, 0, (STRLEN($A) – $B ) );
$A = SUBSTR( $A, STRLEN($B) );
ECHO “交换后A=$A,B=$B
”;
?>
12.写一个遍历指定目录下所有子目录和子文件的函数(提示:可以使用递归的方法)$DIR = “D:/WAMP/WWW/PHP0510″;
D($DIR);
FUNCTION D($DIR){
$DP = OPENDIR($DIR);
WHILE ($D = READDIR($DP)){
IF ($D != ‘.’ && $D != ‘..’) {
IF (IS_DIR($DIR.’/’.$D)) {
ECHO $D.”
”;
D($DIR.’/’.$D);
} ELSE {
ECHO $D.”
”;
}
}
}
}
13.写一个排序算法,可以是冒泡排序或者是快速排序,假设待排序对象是一个维数组。(提示:不能使用系统已有函数,另外请仔细回忆以前学习过的基础知识)
FUNCTION BUBBLESORT($STR) {
FOR ($I=0;$I FOR ($J=COUNT($STR)-2;$J>=$I;$J–){ IF($STR[$J+1]<$STR[$J]){ $TMP = $STR[$J+1]; $STR[$J+1]=$STR[$J]; $STR[$J]=$TMP; } } } RETURN $STR; } $STR = ARRAY(3,6,1,5,9,0,4,6,11); PRINT_R(BUBBLESORT($STR)); 一、是非题:(每题1分,共10分) (说明:认为陈述正确的在括号内打“√”;否则在括号内打“×”) 1.PHP 中变量名“$_abc ”不是合法的。( ) 2.PHP 只能使用Mysql 数据库。( ) 3.PHP 中的数组键必须为数字,且从“0”开始。( ) 4.全等运算符“===”在比较时,只有在两者的数据类型和值都相同时才返回True 。( ) 5.“mysql_connect( )”与“@mysql_connect( )”没有任何区别。( ) 6.使用continue 语句可以实现PHP 程序的跳转。( ) 7.HTML 中的Form 表单数据必须使用Submit 按钮才可以提交。( ) 8.PHP 中的die()和exit()都可以实现程序中止退出功能。( ) 9.PHP 程序中可以随时嵌入HTML 代码和JS 代码。( ) 10.PHP 中的Session 功能可以完全不受制于客户端的Cookie 设置。( 二、填空题:(每空1分,共10分) 1.HTML 的Form 表单中定义单选按钮需要使用INPUT 的 类型,定义复选按钮需要使用INPUT 的 类型。 2.PHP 表达式10%值为 ,表达式10/值为 。 3.Mysql 数据库服务默认开放的端口号是 ,默认管理员为 。 4.为了能够避免SQL 注入,你需要坚持 。 5.表达式“'Testing'.'3'+'5'.'12'”的值为 。 6.PHP 函数中可以利用 向外返回一个值,可以使用 声明一个 全局变量。 三、单选题:(每题2分,共30分) (说明:将认为正确答案的字母填写在每小题后而的括号内) 1. 比较基础的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.一个函数的参数不能是对 评卷人得分分)1分,共10一、是非题:(每题)(说明:认为陈述正确的在括号内打“√”;否则在括号内打“×” )$_abc”不是合法的。(1.PHP中变量名“)数据库。(2.PHP只能使用Mysql)”开始。(3.PHP中的数组键必须为数字,且从“04.全等运算符“===”在比较时,只有在两者的数据类型和值都相同时才返回True。() 5.“mysql_connect( )”与“@mysql_connect( )”没有任何区别。() 6.使用continue语句可以实现PHP程序的跳转。() 7.HTML中的Form表单数据必须使用Submit按钮才可以提交。() 8.PHP中的die()和exit()都可以实现程序中止退出功能。() 9.PHP程序中可以随时嵌入HTML代码和JS代码。() 10.PHP中的Session功能可以完全不受制于客户端的Cookie设置。() 评卷人得分 二、填空题:(每空1分,共10分) 1.HTML的Form表单中定义单选按钮需要使用INPUT的类型,定义复选按钮需要使用INPUT的类型。 2.PHP表达式10%值为,表达式10/值为。 3.Mysql数据库服务默认开放的端口号是,默认管理员为。4.为了能够避免SQL注入,你需要坚持。 5.表达式“”的值为。'Testing'.'3'+'5'.'12'6.PHP 函数中可以利用向外返回一个值,可以使用声明一 个全局变量。 评卷人得分30分)三、单选题:(每题2分,共(说明:将认为正确答案的字母填写在每小题后而的括号内) 1. 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.wendangku.net/doc/543951929.html, ,以下哪项能把字符串转化成 https://www.wendangku.net/doc/543951929.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程序员考题 考试说明: 1、试卷总分为100分。 2、本次考试时间为120分钟。 一、逻辑推理题(9分,每题3分) 1. Jack夫妇请了Tom夫妇和Henrry夫妇来他们家玩扑克。这种扑克游戏有一种规则,夫妇两个不能一组。Jack跟Lily一组,Tom的队友是Henrry的妻子,Linda的丈夫和Sara一组。那么这三对夫妇分别为:(B) A. Jack—Sara,Tom—linda,Henrry—Lily B. Jack—Sara,Tom—Lily,Henrry—linda C. Jack—linda,Tom—Lily,Henrry—Sara D. Jack—Lily,Tom—Sara,Henrry—linda 2. 有17根11.1米长的钢管,要截成1.0米和0.7米的甲、乙两种长度的管子,要求截成的甲、乙两种管子的数量一样多。问:最多能截出甲、乙两种管子各多少根?(C) A. 99 B.105 C. 111 D. 121 3. 一个水库在年降水量不变的情况下,能够维持全市12万人20年得用水量。在该市新迁入3万人之后,该水库只够维持15年得用水量。市政府号召节约用水,希望能将水库的使用寿命提高到30年。那么该市市民平均需要节约多少比例的水才能实现政府制定的目标?(A) A.2/5 B.2/7 C.1/3 D.1/4 二、PHP语言题(36分,每题3分) 1.语句for($k=0;$k=1;$k++);和语句for($k=0;$k==1;$k++);执行的次数分别是(3分): A 无限和0 B 0和无限 C 都是无限 D 都是0 参考答案:A 2.读取post方法传递的表单元素值的方法是(3分): A $_post["名称"] B $_POST["名称"] C $post["名称"] D $POST["名称"] 参考答案:B 3.下面哪个函数可以打开一个文件,以对文件进行读和写操作?(3分) A fget() 《PHP程序设计》上机期末考试试题 一、调试下列各小题的输入结果(每题10分,共34分) 1、 } $table .= " 问题 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"; 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、事务处理: p h p课后习题及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998 选择题 1.对于采用虚拟主机方式部署的多个站点,域名和IP地址是()的关系。 A.一对多 B.一对一 C.多对一 D..多对多 2.网页的本质是()文件 A.图像 B.纯文本 C.可执行程序 D..图像和文本的压缩 3.以下哪种技术不是服务器端动态网页技术() 4.配置MySQL服务器时,需要设置一个管理员帐号,其名称是() :\localhost\admin\ :\eshop\admin\ :\eshop\ :\eshop\localhost\admin\ 中最大的标题元素是(C)。 A.PHP试题带答案
比较基础的php面试题及答案
PHP试题带答案
php面试题及答案
PHP笔试题+答案
php期末考试试题
"; unset($arr[5]); print_r($arr); echo “
”; unset($arr); print_r($arr); > 调试答案:____________________________. 4、
"; > 调试答案:____________________________. 5、"; for($j=1;$j<=$n;$j++){ $table .= " "; } $table .= ""; echo $table; > 调试答案:____________________________. 6、m:$i, n:$j ";
"; gzclose($id);$id=gzopen("","w"); gzputs($id,"
"; gzpassthru($id); echo "
"; gzclose($id); > 调试答案:____________________________. 二、编程题及程序调试(每题20分共计40分) 1、有一个数组$a=array(4,3,8,9,2),将其重新排序并输入结果,按从小到大的顺序排列。 1、php面试题及答案,经典php笔试题与答案
最全最详细的PHP面试题(带有答案)
php课后习题及答案
D.
7 用HTML标记语言编写一个简单的网页,网页最基本的结构是()。 A … … B
B. C. D.