php笔试题及答案

  • 格式:docx
  • 大小:35.07 KB
  • 文档页数:6

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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数组,而不用使用对象操作符->直接使用数组符号[]就可

相关主题