Php知识点考核
- 格式:pdf
- 大小:139.04 KB
- 文档页数:9
php 试题PHP(Hypertext Preprocessor)是一种开源的服务器端脚本语言,广泛应用于Web开发领域。
以下是一些PHP试题,旨在帮助读者加深对PHP语言的理解和应用。
题目一:变量和数据类型1. 请解释PHP中的变量声明和赋值。
2. 列举并解释PHP支持的数据类型。
3. 如何在PHP中判断变量的类型?4. 如何在PHP中将一个变量的类型转换为另一个类型?题目二:流程控制和循环语句1. 解释以下流程控制语句:if-else语句、switch语句、三元运算符。
2. 如何使用循环语句在PHP中实现重复执行一段代码的功能?3. 解释以下循环语句:for循环、while循环、do-while循环。
题目三:函数和数组1. 如何在PHP中定义和调用一个函数?2. 解释函数的参数传递方式:按值传递和按引用传递。
3. 如何在PHP中定义和使用数组?4. 列举并解释PHP提供的数组相关的函数。
题目四:文件操作和数据库连接1. 如何在PHP中打开、读取、写入和关闭一个文件?2. 解释文件操作模式:读取模式、写入模式和追加模式。
3. 如何在PHP中连接和操作MySQL数据库?4. 请列举并解释PHP提供的数据库操作函数或扩展。
题目五:面向对象编程1. 解释什么是面向对象编程(OOP)?2. 如何在PHP中定义和使用类?3. 解释类的属性和方法的概念。
4. 解释封装、继承和多态的概念及其在PHP中的应用。
结语:通过这些试题,我们希望可以帮助你巩固你对PHP语言的理解和应用能力。
当然,这些只是PHP的基础知识,掌握了这些内容后,你还可以深入学习PHP的高级特性和应用。
希望你能善于练习,多写实际代码,提升自己的编程水平!。
重要知识点:1、变量赋值方式有哪几种?1)直接赋值 $str = 123;2)变量间赋值$arr = array();$arr[] = 123;$arr[] = 456;$a;$a = 123;3)引用赋值$a = 123;$b = $a;2、引用和拷贝有什么区别?拷贝是将原来的变量内容复制下来,拷贝后的变量与原来的变量使用各自的内存,互不干扰。
引用相当于是变量的别名,其实就是用不同的名字访问同一个变量内容。
当改变其中一个变量的值时,另一个也跟着发生变化。
3、 php中变量有哪些基本数据类型?php支持8种原始数据类型。
包括:四种标量类型(布尔型boolean,整型interger,浮点型float/double , 字符串string)两种复合类型(数组array ,对象object)两种特殊类型(资源resource,NULL)4、其它类型转换为boolean类型时,哪些被认为是false?布尔值false,整型值0,浮点型值0.0,空白字符串,字符串'0', 空数组,空对象,特殊数据类型NULL, 没有设定的变量。
empty()函数在哪些情况下返回true?布尔值false,整型值0,浮点型值0.0,空白字符串,字符串'0', array()空数组,特殊数据类型NULL, 没有任何属性的对象,没有赋值的变量。
5、常量和变量有哪些区别?1)常量前没有$符号;2)常量只能通过define()定义,而不能通过赋值语句定义;3)常量可以在任何地方定义和访问,而变量定义的反问有固定的规则;4)常量一旦定义就不能被重新定义或者取消定义,而变量而通过赋值方式重新定义;5)常量的值只能是标量数据,而变量的数据库类型有8中原始数据类型。
6、函数的优越性有哪些?提高程序的可维护性提高软件的可靠性提高程序的可重用性提高程序的开发效率7. 如何定义一个函数?函数名区分大小写吗?1)使用 function 关键字;2)函数命名规则和变量一样,以字母或者下划线开头,而不能以数字开头;3)函数名不区分大小写;4)函数名不可以使用已经声明过的或者系统自建的函数名称。
php考试题一、选择题(每题2分,共10分)1. PHP中用于定义常量的关键字是()。
A. defineB. constantC. varD. const2. 在PHP中,哪个函数可以用于获取数组的长度?A. count()B. length()C. size()D. number()3. 下列哪个是PHP的内置错误报告级别?A. E_ALLB. E_ERRORC. E_WARNINGD. E_NOTICE4. 在PHP中,如何正确地定义一个类?A. class MyClass {}B. Class MyClass {}C. MyClass {}D. { MyClass }5. PHP中的superglobal数组,用于存储客户端请求数据的是()。
A. $_GETB. $_POSTC. $_REQUESTD. $_SERVER二、填空题(每题2分,共10分)1. 在PHP中,使用 ________ 语句可以定义一个函数。
2. ________ 是PHP中用来包含并运行指定文件的函数。
3. PHP中,使用 ________ 关键字可以将代码从文件中包含到当前脚本。
4. ________ 是一个特殊的数组,保存了包括程序执行时的各种配置选项。
5. 使用 ________ 可以创建一个名为“myArray”的数组,并初始化三个元素分别为“apple”、“banana”和“cherry”。
三、简答题(每题5分,共20分)1. 请简述PHP中的魔术方法,并给出至少两个例子。
2. 解释什么是PHP的自动全球化变量,并给出一个例子。
3. 描述在PHP中如何创建和使用自定义类。
4. 说明PHP中的异常处理机制是如何工作的。
四、编程题(每题15分,共30分)1. 编写一个PHP函数,该函数接受一个字符串作为参数,并返回该字符串反转后的结果。
如果输入的字符串不是字母或数字,则原样返回。
例如,输入“hello123”应该返回“321olleh”。
第1篇一、基础知识1. PHP是什么?请简要描述其特点和用途。
2. 什么是PHP的超全局变量?请列举几个常见的超全局变量。
3. 如何区分GET和POST方法?它们各自有什么优缺点?4. 简述PHP中的面向对象编程(OOP)的基本概念,如封装、继承、多态。
5. 请解释PHP中的魔术引用(Magic Quotes)和为什么它已被弃用。
6. 什么是命名空间?它在PHP中的作用是什么?7. 简述PHP中的数据类型,如整数、浮点数、字符串、布尔值等。
8. 如何定义一个函数?请给出一个示例。
9. 什么是数组?如何在PHP中创建和操作数组?10. 请解释PHP中的关联数组与索引数组之间的区别。
二、语法与构造11. 如何声明一个常量?请给出一个示例。
12. 如何使用条件语句(如if、else、switch)进行逻辑判断?13. 如何使用循环语句(如for、while、do-while)执行重复操作?14. 如何使用函数参数传递值和引用?请举例说明。
15. 请解释PHP中的类型转换,如从字符串到整数,从整数到布尔值等。
16. 什么是类型提示?在PHP 7及以后版本中它有什么作用?17. 如何处理PHP中的错误和异常?请使用try-catch语句举例。
18. 如何使用字符串函数,如strlen、trim、strpos?19. 请解释PHP中的魔术常量,如__LINE__、__FILE__等。
20. 如何使用数组函数,如array_merge、array_slice、array_reverse?三、面向对象编程21. 如何定义一个类?请给出一个示例。
22. 如何创建类的实例?请举例说明。
23. 请解释构造函数和析构函数在类中的作用。
24. 如何实现类的继承?请举例说明。
25. 什么是接口和抽象类?它们在PHP中的作用是什么?26. 如何使用封装和访问修饰符(如public、protected、private)来控制类的访问权限?27. 请解释PHP中的魔术方法,如__get、__set、__construct等。
php考试复习题PHP考试复习题作为一种广泛应用于Web开发的脚本语言,PHP在程序员的日常工作中扮演着重要的角色。
无论是初学者还是有经验的开发者,都需要通过考试来检验自己对PHP的掌握程度。
本文将为大家提供一些常见的PHP考试复习题,帮助大家更好地准备考试。
一、基础知识1. 解释PHP是什么以及它的作用。
2. PHP中的变量如何声明和赋值?3. 如何在PHP中输出内容?4. PHP中的数据类型有哪些?5. PHP中的条件语句有哪些?请举例说明。
6. PHP中的循环语句有哪些?请举例说明。
7. 解释什么是函数,并举例说明如何在PHP中定义和调用函数。
二、数组和字符串1. 如何创建一个数组,并给数组赋值?2. 如何获取数组中的元素?3. 解释什么是关联数组,并举例说明。
4. 如何在PHP中对字符串进行操作?5. 如何获取字符串的长度?6. 如何将字符串转换为数组?三、文件操作1. 如何在PHP中打开一个文件?2. 如何读取文件中的内容?3. 如何向文件中写入内容?4. 如何关闭一个文件?5. 解释什么是文件上传,并举例说明如何在PHP中实现文件上传功能。
四、数据库操作1. 如何连接数据库?2. 如何执行SQL查询?3. 如何插入数据到数据库中?4. 如何更新数据库中的数据?5. 如何删除数据库中的数据?6. 解释什么是SQL注入,并提供一些防止SQL注入的方法。
五、面向对象编程1. 解释什么是面向对象编程?2. 如何在PHP中定义一个类?3. 如何创建一个对象?4. 如何访问对象的属性和方法?5. 解释什么是继承,并举例说明。
六、错误处理和调试1. 如何在PHP中捕获错误?2. 如何调试PHP代码?3. 解释什么是异常处理,并提供一些处理异常的方法。
七、安全性1. 解释什么是跨站脚本攻击(XSS),并提供一些防止XSS攻击的方法。
2. 解释什么是跨站请求伪造(CSRF),并提供一些防止CSRF攻击的方法。
php笔试题及答案PHP是一种广泛应用于网站开发的脚本语言,常用于处理动态网页和服务器端逻辑。
为了帮助PHP开发者提升自己的技能,以下是一些常见的PHP笔试题以及它们的答案。
一、PHP基础知识1. 解释PHP中的“echo”和“print”的区别。
echo和print都是用于输出内容的PHP关键字,它们之间有以下区别:- echo可以一次输出多个参数,速度稍快;而print只能输出一个参数;- echo没有返回值,只用于输出;而print返回值为1;- echo可以省略括号;而print必须使用括号。
2. 解释一下PHP中的超全局变量。
PHP中的超全局变量是预定义的全局变量,可以在脚本的任何地方访问。
常见的超全局变量有:- $_GET:用于收集通过URL传递的参数;- $_POST:用于收集通过HTTP POST方法传递的参数;- $_SERVER:包含服务器相关的信息和请求头;- $_SESSION:用于存储和访问用户会话;- $_COOKIE:用于存储和访问用户的Cookie。
3. 如何判断一个字符串是否为空?可以使用empty()函数来判断一个字符串是否为空。
例如:if (empty($str)) { // 字符串为空 }二、PHP数组1. 解释一下PHP中的关联数组和索引数组。
- 索引数组是以数字作为数组的键名的数组。
键名从0开始,依次递增。
例如:$arr = array("apple", "banana", "orange");- 关联数组是以字符串作为数组的键名的数组。
键名可以自定义。
例如:$arr = array("name" => "John", "age" => 30);2. 给出一个例子,使用foreach循环遍历一个数组。
$arr = array("apple", "banana", "orange");foreach ($arr as $value) {echo $value;}三、PHP函数1. 编写一个PHP函数,判断一个数是否为素数。
第1篇第一部分:PHP基础知识1. PHP是什么?- PHP(Hypertext Preprocessor)是一种开源的通用脚本语言,特别适用于Web开发,可以嵌入HTML中使用。
2. PHP与HTML的关系是什么?- PHP可以嵌入HTML中,通过特定的标签(如`<?php ... ?>`)在HTML页面中执行PHP代码。
3. PHP的开发环境有哪些?- XAMPP、WAMP、MAMP、LAMP等。
4. PHP的执行流程是怎样的?- 服务器接收到带有PHP代码的HTML请求。
- PHP解析器解析PHP代码并执行。
- 输出结果,将其嵌入HTML页面并发送给客户端。
5. 什么是PHP变量?- PHP变量是存储数据的容器,其名称前加`$`符号。
6. PHP的数据类型有哪些?- 整数(int)、浮点数(float)、字符串(string)、布尔值(bool)、数组(array)、对象(object)、资源(resource)、NULL。
7. 如何声明一个变量?- 使用`$variableName = value;`语法。
8. 如何判断一个变量的类型?- 使用`gettype($variable);`函数。
9. 如何强制转换数据类型?- 使用类型转换运算符,如`(int)$value`将字符串转换为整数。
10. 什么是作用域?- 作用域定义了变量在代码中的可见性和生命周期。
11. PHP中有哪些作用域?- 全局作用域(全局变量)、局部作用域(局部变量)、超全局作用域(超全局变量)。
12. 什么是超全局变量?- 超全局变量可以在函数外部访问,如`$_GET`、`$_POST`、`$_SESSION`等。
13. 什么是数组?- 数组是存储多个值的数据结构,可以使用索引或关联数组。
14. 如何声明一个数组?- 使用`$arrayName = array(value1, value2, ...);`或`$arrayName[] = value;`。
第1篇第一部分:PHP基础知识1. 什么是PHP?简述PHP的历史和特点。
2. PHP与HTML的区别是什么?3. 解释PHP的SAPI(Server API)。
4. PHP的运行环境有哪些?5. 如何设置PHP的运行环境?6. 什么是PHP的版本控制?如何查看PHP版本?7. 解释PHP的变量类型,包括标量类型和复合类型。
8. 什么是变量的作用域?有哪几种作用域?9. 如何声明和初始化一个数组?10. 如何使用关联数组?11. 解释PHP中的魔术方法。
12. 什么是对象?如何创建一个对象?13. 解释面向对象编程(OOP)的三大特性。
14. 什么是封装、继承和多态?15. 解释PHP中的构造函数和析构函数。
16. 什么是类和对象?它们之间的关系是什么?17. 如何实现PHP中的多态?18. 什么是接口?如何使用接口?19. 什么是异常处理?如何使用try-catch块?20. 解释PHP中的魔术引用。
21. 什么是超全局变量?列出常见的超全局变量。
22. 解释PHP中的引用和值传递。
23. 什么是PHP的预定义常量?24. 解释PHP中的类型转换。
25. 什么是PHP的运算符和表达式?26. 如何使用PHP的字符串函数?27. 如何使用PHP的数学函数?28. 解释PHP的日期和时间函数。
29. 什么是PHP的错误处理和日志记录?30. 如何使用PHP的文件和目录函数?第二部分:PHP面向对象编程31. 解释PHP中的抽象类和接口。
32. 什么是继承?如何实现多重继承?33. 如何使用抽象类?34. 解释PHP中的组合和聚合。
35. 什么是PHP中的设计模式?36. 解释单例模式、工厂模式和观察者模式。
37. 如何实现PHP中的静态方法?38. 什么是PHP中的继承和组合?39. 如何使用PHP中的继承和多态?40. 解释PHP中的依赖注入。
41. 什么是设计原则?列举几个重要的设计原则。
42. 解释单一职责原则和开闭原则。
php综合复习题大全PHP综合复习题大全PHP是一种广泛应用于Web开发的脚本语言,它简单易学、灵活高效,因此受到了广大开发者的喜爱。
为了帮助大家复习PHP的知识,下面将为大家提供一些综合复习题,希望能够帮助大家巩固知识点,提高编程能力。
一、基础知识题1. PHP的全称是什么?它是一种什么类型的语言?2. PHP中的注释有哪几种形式?分别是什么?3. PHP中的变量如何定义?有哪些命名规则和限制?4. 如何在PHP中输出内容?有哪些输出函数?5. PHP中的数据类型有哪些?请列举并简要说明。
6. 如何在PHP中进行字符串的连接和截取操作?7. PHP中的条件语句有哪些?请列举并简要说明。
8. PHP中的循环语句有哪些?请列举并简要说明。
9. 如何在PHP中处理表单数据?10. PHP中的文件操作函数有哪些?请列举并简要说明。
二、进阶题1. PHP中的超全局变量有哪些?请列举并简要说明。
2. 如何在PHP中处理日期和时间?请列举并简要说明相关函数。
3. PHP中的数组有哪些类型?请分别说明其特点和用途。
4. 如何在PHP中进行文件上传操作?请列举并简要说明相关函数。
5. PHP中的异常处理机制是什么?如何使用?6. 如何在PHP中使用数据库进行数据操作?请简要说明相关函数和方法。
7. PHP中的会话管理机制是什么?如何使用?8. 如何在PHP中进行正则表达式匹配?请列举并简要说明相关函数。
9. PHP中的面向对象编程特性有哪些?请简要说明其概念和用法。
10. 如何在PHP中进行错误处理?请简要说明相关函数和方法。
三、实战题1. 编写一个PHP程序,实现一个简单的登录页面,并验证用户输入的用户名和密码。
2. 编写一个PHP程序,实现一个简单的留言板功能,包括留言的发布、显示和删除。
3. 编写一个PHP程序,实现一个简单的文件上传功能,并保存上传的文件到指定目录。
4. 编写一个PHP程序,实现一个简单的博客系统,包括文章的发布、显示和评论功能。
PHP基础知识测试题本试题共40道选择题,10道判断题,考试时间1个半⼩时⼀:选择题(单项选择,每题2分):1. LAMP具体结构不包含下⾯哪种(A )A:Windows系统B:Apache服务器C:MySQL数据库D:PHP语⾔2.以下哪个SQL语句是正确的(D)A:insert into users values(‘p001’,’张三’,’男’);B:create table 表名(Code int primary key);C:update users set Code=’p002’ where Code=’p001’;D:select Code as ‘代号’ from users;3.以下哪种类型是Bbrower/S⽹页程序架构的正确描述( C)C/S客户端程序A:需要客户安装客户端B:不需要安装就可以使⽤某些⽹页安装C:依托浏览器的⽹络系统D:不需要服务器的系统任何都需要服务器4 . php中哪个语句可以输出变量类型( c)A:echo 字符串B:printC:var_dump()D:print_r() 打印数组5 . php定义变量正确的是( b)A:var a = 5;B: $a = 10;C:int b = 6;D:var $a = 12;6 . php中单引号和双引号包含字符串的区别正确的是(D)A:单引号速度快,双引号速度慢B:双引号速度快,单引号速度慢C:单引号⾥⾯可以解析转义字符D:双引号⾥⾯可以解析变量7 . 若x,y为整型数据,以下语句执⾏的$y结果为( b )$x = 1;++$x;$y =$x++;A:1 B:2 C:3 D:0$x=1;$y=++$x;8 . php中关于字符串处理函数以下说法正确的是( c )A:implode( )⽅法可以将字符串拆解为数组合并B:str_replace()可以替换指定位置的字符串查找替换C:substr( )可以截取字符串D:strlen( )不能取到字符串的长度9 . 以下代码运⾏结果为:( A )<?php$first = "This course is very easy !";$second = explode(" ",$first);$first = implode(",", $second);echo $first;>A This,course,is,very,easy,!B This course is very easy !C This course is very easy !,D 提⽰错误10 . 以下程序横线处应该使⽤的函数为:(B)<?php$email = ‘langwan@’;$str = ____($email,‘@’);$info = ____(‘.’,$str);____($info);>输出结果为:Array ([0] => @thizlinux [1]=>com[2]=>cn)A:strchr, split, var_dumpB:strstr, explode, print_rC:strstr,explode, echoD:strchr, split, var,_dump11、下列说法正确的是:(B )A. 数组的下标必须为数字,且从“0”开始B. 数组的下标可以是字符串弱类型语⾔C. 数组中的元素类型必顺⼀致D. 数组的下标必须是连续的12、下⾯哪项描述是错误的?( C)A. 普通成员是属于对象的B. 成员变量需要⽤public protected private修饰,在定义变量时不再需要var关键字C. 静态成员是属于对象的D. 包含抽象⽅法的类必须为抽象类,抽象类不能被实例化13、关于exit( )与die( )的说法正确的是(C )A、当exit( )函数执⾏会停⽌执⾏下⾯的脚本,⽽die()⽆法做到B、当die()函数执⾏会停⽌执⾏下⾯的脚本,⽽exit( )⽆法做到C、使⽤die()函数的地⽅也可以使⽤exit()函数替换D、die()函数和exit()函数没有区别做退出程序,都会停⽌执⾏下⾯的脚本14、下⾯程序运⾏结果( B)<?php$nextWeek = time() + (7 * 24 * 60 * 60);echo 'Now: '. date('Y-m-d') ."\n";换⾏echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";>A、得到今天的⽇期(⽉-⽇)B、得到今天的⽇期(年-⽉-⽇)与下周的⽇期(年-⽉-⽇)C、得到现在的时间(⼩时-分-秒)D、得到现在到下周的时间间隔15、以下代码执⾏结果为:( D)<?phpfunction print_A(){$A = "phpchina";echo "A值为: ".$A."<p>";//return ($A);}$B = print_A();echo "B值为: ".$B."<P>";>A A值为:B值为:B值为: phpchinaC A值为: phpchinaB值为: phpchinaD A值为: phpchinaB值为:16、以下代码执⾏结果为:( c)<?php$A="Hello ";function print_A(){$A = "php mysql !!";global $A;echo $A;}echo $A;print_A();>A HelloB php mysql !!C Hello HelloD Hello php mysql !!17、以下代码输出的结果是(B )$a = "aa";$aa = "bb";echo $$a;A aaB bbC $aaD $$a18、以下代码输出的结果是(A )<?php$a = 10;$b = &$a; &取地址echo $b;$b = 15;>A 1015B 1010C 1515D 151019、php输出拼接字符串正确的是( C )A echo $a+”hello”B echo $a+$bC echo $a.”hello”D echo ‘{$a}hello’20、在⽤浏览器查看⽹页时出现404错误可能的原因是( B)A 页⾯源代码错误 500B ⽂件不存在C 与数据库连接错误D 权限不⾜21、以下代码输出的结果为( D)<?php$attr = array("0"=>"aa","1"=>"bb","2"=>"cc");echo $attr[1];>A 会报错!B aaC 输出为空D bb22、⾯向对象的三⼤特性中哪个不属于封装的做法(b)A 将成员变为私有的B 将成员变为公有的C 封装⽅法来操作成员D 使⽤__get()和__set()⽅法来操作成员23、php的源码是( A)A.开放的 B.封闭的 C.需购买的 D.完全不可见的24、php如何输出反斜杠( D)A.(\n B.\r)换⾏C.\t 制表符D.\\ 输出⼀个反斜杠25、下列哪项不属于OOP的三⼤特性( B)A:封装 B:重载 C:继承 D:多态26、以下关于字符串的说法正确的是( c)A:echo “hello\nworld”;在页⾯可以实现换⾏源代码换B:echo ‘helloworld{$a}’;可以解析变量a的值C:$str=<<<AAHello worldAA;该⽅式可以定义字符串$str=<<<BAgagafaB; 这⼀⾏前⾯不能有任何东西D:print $a,”hello”;可以输出数据不报错27、下列说法不正确的是( D)A:list()函数可以写在等号左侧唯⼀⼀个可以写在左侧的B:each()函数可以返回数组⾥⾯的下⼀个元素C:foreach()遍历数组的时候可以同时遍历出key和value D:for循环能够遍历关联数组只能遍历索引数组28、关于⾯向对象的说法不正确的是( C)A:OOP是⾯向对象的简称B:静态成员是属于类的C:普通成员是属于类的D:类⾥⾯的$this关键字代表该对象本⾝29、下列定义函数的⽅式是正确的( b )A:public void Show(){ } 强类型语⾔B:function Show($a=5,$b){ }C:function Show(a,b){ }D:function Show(int $a){ }30、下⾯哪个选项没有将 john 添加到 users 数组中? ( B)A. $users[] = "john";B. array_add($users, "john");C. array_push($users, "john");D. $users [“aa”]= "john" ;31、php中以下能输出1到10之间的随机数的是(C )A:echo rand();B:echo rand()*10;C:echo rand(1,10);D:echo rand(10);32、php中以下能输出当前时间格式像:2016-5-6 13:10:56 的是(A )A:echo date(“Y-m-d H:i:s”);B:echo time();C:echo date();D:echo time(“Y-m-d H:i:s”);33、以下哪项不属于函数的四要素( D )A:返回类型B:函数名C:参数列表D:访问修饰符函数体34、以下说法正确的是( c)A:@符号可以屏蔽所有错误B:exit;后⾯的语句可以继续执⾏C:10/4得出的结果是 2.5D:$$a;这种写法是错误的35、以下关于构造函数说法不正确的是( B)A:研究⼀个类,⾸先我们要研究的函数是构造函数B:构造函数写法和普通函数没有区别 construct 执⾏时间特殊new时执⾏C:构造函数执⾏⽐较特殊D:如果⽗类中存在构造函数并且需要参数,⼦类在造对象的时候也应该传⼊相应的参数。
Php知识点考核1.php对于变量名有哪些约定?a)必须以$开头b)由字母或者下划线开头,后面跟上任意数量的字母、数字、或者下划线c)变量名区分大小写2.说出echo 与print 的区别?a)Echo可以输出多个字符串,print只能输出一个字符串b)Echo效率相对比较快,print可以表现得更像一个函数,能用在更复杂的表达式中c)Echo没有返回值,print有返回值,成功返回1,false返回03.说出global $a 与$GLOBALS['a'] 的区别?a)Global在函数产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量b)$GLOBALS[]确确实实调用的是外部的变量,函数的内外会始终保持一致4.怎样理解php中静态变量,试写出一段代码加以说明?a)地址会被在内存中保存,并且只在第一次调用时执行<?phpFunction add($a){Static $a=3;$a++;Return $a;}Echo add(2);?>5.php中,我们调用函数有传值和传址两种方式,试述二都的区别?写出传址的一段代码。
a)传值:传递变量的值;传址:传递变量的地址传值:<?phpFunction add($a){$a++;Return $a;}$b=1;Echo add($b);Echo $b;?>传址:<?phpFunction add(&$a){$a++;Return $a;}$b=1;Echo add($b);Echo $b;?>6.字符串“abcd”怎样使其变成“dcba”?a)Str_replase(‘abcd’,’dcba’,’abcd’); 或者strrev(‘abcd’);7.一文件名为:“abc.xyz.exe”,如何取出期扩展名“exe”?a)$a=pathinfo(‘abc.xyz.exe’,’.exe’); echo $a['extension'];8."<?=rs[0]?>" 此表达式成立吗?如何理解?怎样实现?a)不成立rs[0]既不能当做字符串输出,也不是变量,更不是数组。
9.函数mysql_connect()与mysql_pconnect()的区别?a)Mysql_connect()打开一个到mysql服务器的连接b)Mysql_pconnect()打开一个到mysql服务器的持久连接c)主要区别:i.当连接的时候mysql_pconnect()将先尝试寻找在同一个主机上同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接ii.当脚本执行完毕后到sql服务器的连接不会被关闭,mysql_pconnect()将保持打开以备以后使用(mysql_close()不会关闭由mysql_pconnect()建立的连接)10.怎样获得当前网页的路径及名称。
a) $_SERVER[ ‘SCRIPT_FILENAME’]11.一组数:9,23,40,7,4,12,35 对其进行由小到大排序注:不允许用内置函数a)<?php$arr=array(9,23,40,7,4,12,35);$s=count($arr);For($i=0;$i<$s;$i++){For($j=1;$j<$s;$j++){If($arr[$i]<$arr[$j]){$c=$arr[$i];$arr[$i]=$arr[$j];$arr[$j]=$c;}}Echo $arr[$i];}?>12.说出单双引号的区别。
a)要在字符串中包含单引号要用反斜杠来进行转义b)单引号第一字符串中写入的变量不会在变量被php编译双引号定义试支持更多的转义字符c)单引号不需要解析,直接在html中输出,而双引号要经过解析后输出13.显示昨天的日期时间。
格式为:(2012/06/07 13:00:00);a) data(Y-M-D H:i:s,strtotime(-1,day));14.怎样清除一个cookie的值?a)Date_default_timezone_set(‘PRC’);Setcookie(‘a’,’’,time()-3600);15.怎样清除所有session变量的值?a)Session_destroy();16.error_reporting()报告有哪些类型的错误报告?a)E_ERROR 严重错误,不可恢复。
例如内存不足、位置异常或者类重复申明错误b)E_WARNING 经常发生的错误类型,表示操作错误。
例如,丢失函数参数、连接数据库失败、除数为0等错误c)E_PARSE 编译时发生的解析错误,会导致PHP在执行前退出。
意味着如果一个文件因为解析错误运行失败,则程序停止运行d)E_NOTICE 运行代码在操作一些未知的动作,例如读取未定义的变量e)E_CORE_ERROR 内部错误,扩展启动失败导致的,会导致PHP运行退出f)E_CORE_WARNING PHP开始启动时发生的警告g)E_COMPILE_ERROR 编译错误,与E_PARSE不同,这个错误会导致PHP运行退出h)E_COMPILE_WARNING 编译时警告i)E_USER_ERROR 用户定义错误导致PHP退出执行。
用户定义错误(E_USER_*)不是来自PHP本身,而是包含在脚本中j)E_USER_WARNING 用户定义错误不会导致PHP退出运行。
脚本可以使用它来通知一个执行失败,执行失败PHP也会用E_WARNING来通知k)E_USER_NOTICE 用户定义的通告可能在脚本中存在错误l)E_ALL 所有错误和警告m)E_STRICT 为了让PHP4到PHP5的迁移更加容易,可以在PHP5软件系统中运行PHP4的代码n)E_RECOVERABLE_ERROR 从E_ERROR中可以被用户自定义的错误处理程序(一般通过set_error_handler()函数来指定)所捕捉的情况转化而来17.表单的method方法中:get方式与post方式有哪些区别?a)Get是从服务器上获取数据,post是向服务器传送数据b)Get是把参数数据列队加到提交表单的action属性所指的url中,值和表单内容各个字段一一对应,在url中可以看到。
Post是通过HTTP POST机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到action属性所指的url地址,用户看不到这个过程。
c)Get传送数据较小,不能大于2kb。
Post传送的数据量较大,一般被默认为不受限制。
d)Get安全性非常低,post安全性较高,包含机密信息的话,建议用post数据提交方式。
但是get的执行效率比post要好。
(在做数据查询是,用get比较好;在做数据添加、修改或删除时,post比较好。
)e)用户可以随意修改get的信息,但不能随意修改post的18.include()与require()有哪些别?a)当找不到被包含的文件时,require将输出错误,而include输出警告。
执行include时,浏览器将会生成很多警告,然后继续执行下面的代码,而require则生成致命错误并及时终止脚本的处理b)Include和require支持相对路径和绝对路径。
如果没有指定明确的路径,PHP将会在当前目录中查找文件,然后查找php.ini文件include_path设置中列出的目录,include_path可自行修改,修改这一设置之后需要重新启动web服务器。
19.在php中网页重新定向用哪个函数?如重定向到“index.php”如何写?a)Header(’location:index.php’);20.用php语言绘制一个验证码图案。
a)<?php$im=imagecreatetruecolor(100,30);$bg=imagecolorallocate($im,234,123,253);$text=imagecolorallocate($im,123,123,222);Imagefill($im,0,0,$bg);Imagestring($im,5,10,20,’text’,$text);Header(‘content-type=image/png’);Imagepng($im);Imagedetroy($im);?>21.试描述php中构造函数及析构函数的作用?怎样写?a)构造函数__construct() 作用:初始化对象析构函数__destruct() 作用:终止调用,释放内存构造函数:class mypc{Function __construct(){初始化操作}}析构函数: class mypc{……Function __destruct(){}……}22.什么是重载?a)就是覆盖,在派生类里使用与基类方法重名的方法名称执行重载23.怎样理解多态?a)“多种形态”,多态是具有表现多种形态的能力的特征,在OO中是指“语言具有根据对象的类型以不同方式处理”24.怎样理解封装?a)封装就是把一些相关的属性和行为隐藏起来,从而得到保护和安全25.说出public private protected 三个关键字的区别a)Public 表示全局,类内部外部子类都可以访问Private 表示私有地,只有本类内部可以使用Protected 表示受保护的,只有本类或子类或父类中可以访问26.说说final 关键字的用法a)用来定义类和方法的一个重要关键字,当定义类的时候该类将不能被继承,当用来定义方法的时候该方法将不能被重载27.封装一个DB类。
a)<?phpClass mysql{Private $host;Private $name;Private $pass;Private $db;Function __construct($host,$name,$pass,$db){$this->host=$host;$this->name=$name;$this->pass=$pass;$this->db=$db;$this->do();}Function do(){$conn=mysql_connect($this->host,$this->name,$this->pass) or die(mysql_error());$link=mysql_select_db($this->db,$conn) or die(mysql_error());}Function insert($table,$value){$sql=mysql_query(“insert into $table values($value)”) or die(mysql_error());Return $sql;}}$p=new mysql(“localhost”,”root”,””,”text”);$p->insert(“work”,”’1’,’lili’”);?>28.ini_set() ini_get()的用法a)ini_set() 设置一个配置选择的值;ini_set(‘选项’,’新值’)b)ini_get() 得到一个配置选项的值;ini_get(‘选项’)29.mysql_fetch_array() mysql_fetch_assoc() mysql_fetch_object() 的区别a)mysql_fetch_array() 从结果集中取得一行作为关联数组、或数字数组,或二者兼有mysql_fetch_assoc() 从结果集中取得一行作为关联数组mysql_fetch_object() 从结果集中取得一行作为对象30.mysql_affected_rows()mysql_num_rows()的区别a)mysql_affected_rows() 取得前一次mysql操作所影响的记录行数,有返回值,失败为-1mysql_num_rows() 取得结果集中行的数目31.试举例说明mysql_result()的用法a)Echo mysql_result(mysql_query(“select * from xx”,0));32.cookie 与session的区别a)cookie机制采用的是在客户端保存状态的方案,而session机制采用的是在服务器端保持状态的方案33.什么是主键?主键的作用是什么?在mysql中如何设置主键,应该注意什么?a)主键是被挑选出来,作表的行的唯一标识的候选关键字作用:1) 保证实体的完整性2)加快数据库的操作速度3)在表中添加新记录时,数据库系统会自动检查新记录的主键值,不允许该值与其他记录的主键值重复4)数据库系统自动按主键值的顺序显示表中的记录设置主键:primary key( )注意:在创建表格的后面加上engine=InnoDB,要开起InnoDB支持,主键不能为空34.什么是外键?外键的作用是什么?什么是主表?什么是从表?a)如果公共主键在一个关系中是主键,那么这个公共主键被称为另一个关系的外键作用:保持数据一致性,完整性,主要目的是控制存储在外键表中的数据主表:以另一个关系的外键作主键的表被称为主表外表:具有此外键的表被称为主表的从表35.如何创建视图?说一下视图的好处?a)create view 视图名as select 属性form 表名好处:安全、方便,对不同的用户有不同的查看、选择、修改权限36.说一下什么是事务?事务有哪些特性?a)事务是指作为单个逻辑工作单元执行的一系列操作特性:原子性、一致性、隔离性、持久性37.列举mysql数据管理系统中引擎的类别?a)MyISAM(默认的) BOB HEAP ISAM InnoDB Gemeni38.在mysql中如何创建索引?索引的作用是什么?我们怎样有选择的创建索引?a)create index 索引名on 表名作用:提高查询效率39.什么是连接查询?什么是内连接?什么是外连接?怎样创建左外连接?a)连接查询就是将两个或多个或者视图通过一定的条件将全部或部分或部分字段全部或部分记录连接到一起,得到一个新的数据集合外连接:只限制一张表中的数据必须满足连接条件,而另一张表中的数据可以不满足连接条件的连接方式内连接:只有两个表相匹配的行才能在结果集中出现40.抽象类与接口的异同区别:抽象类:1. 类中至少有一个抽象方法2. 抽象方法前需加abstract接口: 1. 接口中全部为抽象方法2. 抽象方法前不用加abstract3. 接口抽象方法属性为public4. 成员属性必须为常量共同点: 1. 本身都不能被实例化,必须被继承或者引用2.继承或者引用后,需要把所有抽象方法重载方可使用41.正则表达式1)email地址的匹配a)(/^\w$+@\w+(.)\w+$/)2)url地址的匹配a)(/^((f)|(ht))(tp:\/\/)\w+(.)\w+(.)((com)|(cn)|())/$)3)电话号码的匹配a)(/^[\d]{3.4}(-)[\d]{8}$/)4)Html标签的过滤,如<script language=’javascript’>alert(“abc”);</script>a)$str=” <script language=’javascript’>alert(“abc”;)</script>”;Preg_replace(“/<(\/?script.*?)>/si”,””,$str);42.什么是表达式?单目表达式、双目表达式、三目表达式?举例说明a)表达式:将同类型的数据(如常量、变量、函数等),用运算符号按一定的规则连接起来的、有意义的式子称为表达式。