php试题及答案五篇范文
- 格式:docx
- 大小:44.09 KB
- 文档页数:30
第1篇一、PHP基础题1. 请简述PHP的执行流程。
答:PHP代码的执行流程如下:(1)解析:PHP解释器首先读取PHP文件,然后对代码进行语法分析,将代码转换为中间代码。
(2)编译:PHP解释器将中间代码编译成字节码。
(3)执行:PHP虚拟机执行字节码,完成代码的功能。
2. 简述PHP的魔术方法。
答:魔术方法是PHP中一种特殊的方法,以双下划线开头和结尾,主要有以下几种:(1)构造函数:__construct()(2)析构函数:__destruct()(3)属性访问控制方法:getXXX()、setXXX()、callXXX()(4)克隆方法:__clone()(5)唤醒方法:__wakeup()3. 简述PHP中的数据类型。
答:PHP中的数据类型主要有以下几种:(1)基本数据类型:整型(int)、浮点型(float)、字符串(string)、布尔型(bool)(2)复合数据类型:数组(array)、对象(object)(3)特殊数据类型:NULL、资源(resource)4. 简述PHP中的常量。
答:常量是在程序运行过程中不可改变的变量,主要有以下几种定义方式:(1)使用define()函数定义:define("常量名",值);(2)使用const关键字定义:const 常量名 = 值;5. 简述PHP中的变量。
答:变量是在程序运行过程中可以改变的存储空间,主要有以下几种定义方式:(1)使用$符号定义:$变量名 = 值;(2)使用var关键字定义:var $变量名 = 值;二、面向对象编程题1. 简述面向对象编程的三大特征。
答:面向对象编程的三大特征为:(1)封装:将数据和操作数据的方法封装在一起,隐藏内部实现细节。
(2)继承:允许一个类继承另一个类的属性和方法。
(3)多态:允许不同的对象通过共同的接口进行操作。
2. 简述PHP中的访问修饰符。
答:PHP中的访问修饰符主要有以下三种:(1)public:允许类内部、子类和外部访问。
第1篇一、基础题1. 问题:请解释PHP中`$_SERVER`的作用。
答案:`$_SERVER`是一个全局数组,它包含了头信息、路径和脚本位置等信息。
通过这个数组,我们可以获取到诸如服务器的名称、执行脚本的路径、HTTP请求头等信息。
2. 问题:简述PHP中的魔术引用(`&`)的作用。
答案:魔术引用在PHP中用于引用传递。
当使用`&$variable`时,实际上传递的是变量的引用,而不是值。
这在函数内部修改变量时非常有用,因为它允许函数内部直接修改外部传入的变量。
3. 问题:请解释PHP中的`include`和`require`的区别。
答案:`include`和`require`都是用于包含其他PHP文件的工具,但它们在错误处理上有区别。
`require`如果找不到文件,会抛出一个致命错误并终止脚本执行;而`include`则会输出一条警告信息,但不会终止脚本执行。
4. 问题:如何使用PHP获取当前的时间戳?答案:可以使用`time()`函数获取当前的时间戳,该函数返回自1970年1月1日00:00:00 UTC以来的秒数。
5. 问题:简述PHP中的数据类型。
答案:PHP有八种数据类型,包括整型(int)、浮点型(float)、字符串(string)、布尔型(bool)、对象(object)、资源(resource)、数组(array)和NULL。
二、进阶题1. 问题:请解释PHP中的`session`和`cookie`的区别。
答案:- `session`存储在服务器端,通过会话ID来识别不同的用户,安全性较高。
- `cookie`存储在客户端,通常用于存储用户偏好设置或其他小量数据,安全性相对较低。
2. 问题:如何使用PHP进行文件上传?答案:- 首先,需要设置`php.ini`文件中的`file_uploads`和`upload_max_filesize`参数。
- 在HTML表单中,使用`enctype="multipart/form-data"`属性。
引言在PHP高级开发工程师的面试中,考察的不仅仅是基础语法和编程能力,还包括对框架、设计模式、性能优化、安全机制等方面的深入理解。
以下是一系列PHP高级面试题及其答案,旨在帮助准备面试的候选人更好地展示自己的技术实力。
---1. 什么是PHP的魔术方法?请举例说明。
答案:魔术方法是PHP中特殊的方法,以两个下划线`__`开头和结尾。
它们在对象被创建、销毁、赋值、调用等情况下自动被调用。
以下是一些常见的魔术方法:- `__construct()`:在对象创建时被调用。
- `__destruct()`:在对象销毁时被调用。
- `__get($name)`:访问不存在的属性时被调用。
- `__set($name, $value)`:设置不存在的属性时被调用。
- `__isset($name)`:检查属性是否设置时被调用。
- `__unset($name)`:删除属性时被调用。
- `__call($name, $arguments)`:调用不存在的方法时被调用。
- `__toString()`:当对象被转换为字符串时被调用。
举例:```phpclass MagicMethodExample {public $property;public function __construct($value) {$this->property = $value;public function __toString() {return "Property Value: " . $this->property;}}$example = new MagicMethodExample("Hello");echo $example; // 输出: Property Value: Hello```---2. 解释一下PHP中的闭包(Closure)和匿名函数(Anonymous Function)的区别。
第1篇PHP基础知识1. 什么是PHP?- PHP是一种开源的、服务器端的脚本语言,主要用于网页开发。
2. PHP有哪些优点?- 灵活性高、易于学习、开源免费、广泛的社区支持。
3. PHP的运行环境有哪些?- Apache、Nginx、IIS等服务器软件。
4. PHP的版本有哪些?- PHP 5.x、PHP 7.x、PHP 8.x。
5. 如何检查PHP版本?- 使用`phpinfo()`函数或者在PHP文件中添加`echo phpversion();`。
6. 什么是PHP的超全局变量?- `$GLOBALS`、`$_SERVER`、`$_GET`、`$_POST`、`$_FILES`等。
7. 如何设置PHP的默认编码?- 在PHP配置文件(php.ini)中设置`default_charset`。
8. 什么是PHP的数据类型?- 整数、浮点数、字符串、布尔值、数组、对象、资源、NULL。
9. 如何定义一个PHP变量?- 使用$符号后跟变量名。
10. 什么是变量作用域?- 全局作用域、局部作用域、静态作用域。
基本语法11. 如何注释PHP代码?- 单行注释:`//`- 多行注释:`/ /`12. 如何比较两个字符串?- 使用`==`或`===`。
13. 如何遍历数组?- 使用`foreach`循环。
14. 如何定义一个函数?- 使用`function`关键字。
15. 如何调用一个函数?- 使用函数名后跟括号。
16. 如何传递参数给函数?- 在函数定义时列出参数,调用时传递值。
17. 如何定义一个类?- 使用`class`关键字。
18. 如何创建一个对象?- 使用`new`关键字。
19. 如何访问对象属性和方法?- 使用`$object->property`和`$object->method();`。
20. 什么是魔术方法?- PHP中的特殊方法,如`__construct()`、`__destruct()`、`__get()`等。
第1篇一、基础语法与变量1. 问题:PHP中的变量命名规则是什么?答案:PHP中的变量命名规则如下:- 变量名必须以字母或下划线开头。
- 变量名可以包含字母、数字和下划线。
- 变量名是区分大小写的。
- 变量名不能包含空格或点。
2. 问题:如何声明一个PHP变量?答案:在PHP中,可以使用以下方式声明一个变量:```php$variable = "Hello, World!";```或者简写为:```php$variable = "Hello, World!";```3. 问题:PHP中的变量类型有哪些?答案:PHP中的变量类型包括:- 整数(Integer)- 浮点数(Float)- 字符串(String)- 布尔值(Boolean)- 数组(Array)- 对象(Object)- 资源(Resource)- NULL4. 问题:如何检查一个变量的类型?答案:可以使用`gettype()`函数来检查一个变量的类型:```php$var = 10;echo gettype($var); // 输出:integer```二、数据类型转换1. 问题:如何在PHP中进行数据类型转换?答案:在PHP中,可以使用以下方式进行数据类型转换:- 使用类型转换运算符(例如:(int) $var, (float) $var, (string) $var)- 使用`settype()`函数- 使用类型强制转换运算符(例如:$var = (int) $var;)2. 问题:如何将字符串转换为整数?答案:可以使用类型转换运算符或`settype()`函数:```php$string = "123";$int = (int) $string; // 或者 $int = settype($string, "integer"); ```3. 问题:如何将整数转换为字符串?答案:可以使用类型转换运算符:```php$int = 123;$string = (string) $int;```三、条件语句与循环1. 问题:PHP中的条件语句有哪些?答案:PHP中的条件语句包括:- `if`语句- `if...else`语句- `switch`语句2. 问题:如何使用`if`语句?答案:```phpif (条件) {// 条件为真时执行的代码} else {// 条件为假时执行的代码}```3. 问题:如何使用`switch`语句?答案:```phpswitch ($expression) {case 值1:// 当表达式与值1匹配时执行的代码 break;case 值2:// 当表达式与值2匹配时执行的代码 break;default:// 默认情况下执行的代码}```4. 问题:PHP中的循环有哪些?答案:PHP中的循环包括:- `for`循环- `while`循环- `do...while`循环- `foreach`循环5. 问题:如何使用`for`循环?答案:```phpfor (初始化表达式; 条件表达式; 更新表达式) { // 循环体}```四、函数与面向对象编程1. 问题:如何在PHP中定义一个函数?答案:```phpfunction 函数名(参数列表) {// 函数体}```2. 问题:如何调用一个函数?答案:```php函数名(参数列表);```3. 问题:PHP中的函数有哪些返回值?答案:PHP中的函数可以返回以下类型的值:- 字符串(String)- 整数(Integer)- 浮点数(Float)- 布尔值(Boolean)- 数组(Array)- 对象(Object)- 资源(Resource)- NULL4. 问题:如何在PHP中定义一个类?答案:```phpclass 类名 {// 类属性和方法}```5. 问题:如何在PHP中使用构造函数和析构函数?答案:构造函数用于在创建对象时初始化对象,析构函数用于在对象销毁时执行清理工作。
第1篇1. 介绍PHP的基本特点和应用场景问题:PHP是一种什么类型的编程语言?它有哪些主要特点和应用场景?答案:PHP是一种开源的、服务器端脚本语言,主要特点包括:- 跨平台:PHP可以运行在多种操作系统上,如Windows、Linux、Mac OS等。
- 嵌入HTML:PHP可以与HTML、JavaScript、CSS等网页设计语言混合使用。
- 简单易学:PHP语法简洁,易于学习和使用。
- 强大的数据库支持:PHP与MySQL、Oracle、SQLite等多种数据库系统兼容良好。
- 开源免费:PHP是免费的,且具有丰富的社区支持。
PHP的主要应用场景包括:- 网站开发:PHP常用于开发动态网站,如电子商务、社交网络、内容管理系统等。
- 企业级应用:PHP可以用于开发企业级应用,如ERP、CRM等。
- 云服务:PHP可以与云计算平台集成,用于开发云服务。
2. 解释PHP的变量类型问题:PHP中有哪些变量类型?请举例说明。
答案:PHP中有以下几种变量类型:- 整型(Integer):用于存储整数,如`$age = 25;`- 浮点型(Float):用于存储小数,如`$pi = 3.14;`- 字符串(String):用于存储文本,如`$name = "张三";`- 布尔型(Boolean):用于存储真(true)或假(false),如`$isLogin = true;`- 数组(Array):用于存储多个值,如`$colors = ["red", "green", "blue"];`- 对象(Object):用于存储类实例,如`$user = new User();`- 资源(Resource):用于存储数据库连接、文件句柄等,如`$handle =fopen("file.txt", "r");`3. 比较require和include的区别问题:require和include有什么区别?答案:require和include都是用于引入外部文件,但它们之间有一些区别:- require:如果引入的文件不存在,会抛出致命错误并停止脚本执行。
一、PHP基础1. 请简述PHP的魔术方法及其用途。
答:PHP的魔术方法是一组具有特殊名称的方法,当对象被创建、销毁、访问属性或调用方法时,PHP会自动调用这些方法。
常用的魔术方法包括:- __construct():构造函数,在对象创建时自动调用。
- __destruct():析构函数,在对象销毁时自动调用。
- __get():获取私有属性时自动调用。
- __set():设置私有属性时自动调用。
- __isset():检测私有属性是否设置时自动调用。
- __unset():销毁私有属性时自动调用。
- __call():调用不存在的方法时自动调用。
2. 请解释PHP中的单引号和双引号的区别,哪个速度更快?为什么?答:单引号和双引号在PHP中用于字符串连接,但它们在处理字符串内容时有所不同。
- 单引号:不会解析字符串中的变量和转义字符,速度快。
- 双引号:会解析字符串中的变量和转义字符,速度慢。
通常情况下,单引号比双引号快,因为单引号不会进行变量替换和转义字符解析。
3. 请解释PHP中的isset()和empty()函数的区别。
答:isset()和empty()都是用于检测变量是否已设置,但它们在检测方式上有所不同。
- isset():检测变量是否已设置且不为NULL。
- empty():检测变量是否为空,包括NULL、空字符串、空数组、0等。
例如:<?php$a = 0;$b = '';if (isset($a)) {echo '变量a已设置';} else {echo '变量a未设置';}if (empty($b)) {echo '变量b为空';} else {echo '变量b不为空';}>```4. 请解释PHP中的堆栈区别。
答:堆栈是PHP中用于存储变量、对象等的数据结构。
- 堆:动态分配内存,用于存储对象。
第1篇第一部分:基础知识题目 1:请简述PHP是一种什么类型的编程语言?答案:PHP是一种服务器端脚本语言,主要用于Web开发。
它被设计为易于阅读和编写,同时具有丰富的库和框架支持。
PHP代码通常嵌入到HTML文档中,由服务器解释执行,并生成动态网页。
题目 2:PHP有哪些主要的版本?它们之间有什么区别?答案:PHP的主要版本包括:- PHP 4- PHP 5- PHP 7- PHP 8版本之间的主要区别包括:- 性能:随着版本的更新,PHP的性能得到了显著提升。
PHP 7相比PHP 5,性能提升了100%以上。
- 安全:新版本通常包含更多的安全特性,修复了旧版本中的安全漏洞。
- 语言特性:每个新版本都引入了新的语言特性,如PHP 7引入了Null Coalescing Operator和Union Types。
- 库和框架:不同版本的PHP支持不同的库和框架。
题目 3:请解释什么是超全局变量?PHP中有哪些超全局变量?答案:超全局变量是指在PHP脚本的全局作用域中始终可用的变量。
以下是一些常见的超全局变量:- `$$_SERVER`:包含服务器的信息和头信息。
- `$$_GET`:包含通过GET方法发送的参数。
- `$$_POST`:包含通过POST方法发送的参数。
- `$$_COOKIE`:包含通过Cookies发送的数据。
- `$$_SESSION`:用于存储用户会话数据。
- `$$_FILES`:包含通过HTTP POST发送的文件信息。
第二部分:面向对象编程题目 4:请解释什么是面向对象编程(OOP)?PHP中如何实现OOP?答案:面向对象编程是一种编程范式,它使用对象来封装数据和操作数据的方法。
在PHP 中,可以通过以下方式实现OOP:- 类:类是OOP中的蓝图,用于创建对象。
类定义了对象的属性和方法。
- 对象:对象是类的实例。
通过使用`new`关键字,可以从类创建对象。
- 继承:继承允许一个类继承另一个类的属性和方法。
第1篇一、基础题目1. PHP是什么?答案: PHP(Hypertext Preprocessor)是一种开源的服务器端脚本语言,它特别适用于网页开发,能够与HTML、CSS、JavaScript等前端技术无缝集成。
2. 请简述PHP的运行原理。
答案: PHP代码在服务器端运行,服务器首先将PHP代码编译成字节码,然后由PHP解释器执行这些字节码,生成最终的HTML页面,最后发送到客户端。
3. PHP有哪些常用扩展库?答案: PHP常用扩展库包括:PDO(PHP Data Objects)、MySQLi、cURL、GD 库(用于图像处理)、XML、JSON等。
4. 什么是会话(Session)?如何实现会话管理?答案:会话是用户在访问网站时,服务器端用于跟踪用户状态的一种机制。
PHP中,可以通过`session_start()`函数启动会话,并使用`$_SESSION`数组存储和访问会话数据。
5. 请解释一下PHP中的全局变量、局部变量和静态变量。
答案:- 全局变量:在函数外部声明的变量,可以在函数内部访问。
- 局部变量:在函数内部声明的变量,仅在函数内部有效。
- 静态变量:使用`static`关键字声明的变量,在函数调用结束后仍然保持其值。
6. PHP中的错误处理有哪些方式?答案:- 使用`echo`、`print`、`printf`等函数输出错误信息。
- 使用`trigger_error()`函数触发错误。
- 使用`try-catch`语句进行异常处理。
7. 请解释一下PHP中的魔术方法。
答案:魔术方法是PHP中一些具有特殊命名规则的方法,它们在特定情况下会被自动调用。
例如,`__construct()`、`__destruct()`、`__get()`、`__set()`、`__isset()`、`__unset()`等。
8. 请解释一下PHP中的魔术常量。
答案:魔术常量是PHP中一些具有特殊名称的常量,它们在特定情况下会被自动替换。
第1篇一、基础题1. 请简述PHP是一种什么语言?答:PHP是一种开源的、跨平台的服务器端脚本语言,主要用于Web开发。
2. 请列举PHP的几种常用数据类型。
答:PHP的数据类型包括整型(int)、浮点型(float)、字符串(string)、布尔型(boolean)、数组(array)、对象(object)、资源(resource)和NULL。
3. 请解释PHP中的变量命名规则。
答:变量名必须以字母或下划线开头,后面可以跟字母、数字、下划线。
变量名是区分大小写的。
4. 请解释PHP中的常量。
答:常量是指在程序运行过程中值不能被改变的变量。
在PHP中,使用define()函数或const关键字来定义常量。
5. 请简述PHP中的数组。
答:数组是一种有序集合,可以存储多个值。
PHP中的数组可以存储不同类型的值,包括数字、字符串、对象等。
6. 请解释PHP中的函数。
答:函数是完成特定任务的代码块,可以被多次调用。
在PHP中,使用function关键字定义函数。
7. 请解释PHP中的类和对象。
答:类是创建对象的模板,对象是类的实例。
在PHP中,使用class关键字定义类。
8. 请解释PHP中的继承。
答:继承是面向对象编程中的一种特性,允许一个类继承另一个类的属性和方法。
在PHP中,使用extends关键字实现继承。
9. 请解释PHP中的封装。
答:封装是将数据和方法封装在一个类中,以保护数据不被外部访问。
在PHP中,使用private、protected和public关键字实现封装。
10. 请解释PHP中的多态。
答:多态是指同一个方法在不同对象上有不同的行为。
在PHP中,通过继承和重写方法实现多态。
二、进阶题11. 请解释PHP中的魔术方法。
答:魔术方法是PHP中一类特殊的方法,以两个下划线开头和结尾。
常见的魔术方法有__construct()、__destruct()、__get()、__set()等。
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 的值是字符串****************,把字符串转化成 ?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.以下哪些函数能用来验证字符串的完整性?(三选)A.md5()B.sha1()C.str_rot13()D.crypt()E.crc32()8.哪个PHP 函数与以下脚本在UNIX 系统下执行的效果近似?function my_funct($filename){ $f = file_get_contents($filename);return explode(“n”, $f);} ?> A.fopen()B.fread()C.flock()D.split_string()E.file()9.基于指定的式样(pattern)把一个字符串分隔开并放入数组,以下哪些函数能做到?(双选)A.preg_split()B.ereg()C.str_split()D.explode()E.chop() 10.以下脚本输出什么?echo 'Testing '.1 + 2.'45';?> A.T esting 1245 B.Testing 345 C.Testing 1+245 D.245 E.什么都没有11.以下脚本输出什么? $s = '12345';$s[$s[1]] = '2';echo $s;?> A.12345 B.12245 C.22345 D.11345 E.Array 12.方框中的正则表达式能与以下哪些选项匹配?(双选)/.**123d/ A.******123 B.*****_1234 C.******1234D._*1234 E._*123 13.以下哪个比较将返回true?(双选)A.’1top’ == ’1′ B.’top’ == 0 C.’top’ === 0 D.’a’ == a E.123 == ’123′14.如果用+操作符把一个字符串和一个整型数字相加,结果将怎样? A.解释器输出一个类型错误B.字符串将被转换成数字,再与整型数字相加C.字符串将被丢弃,只保留整型数字D.字符串和整型数字将连接成一个新字符串E.整形数字将被丢弃,而保留字符串个 PHP 脚本使用______。
A.include_once, include B.require, include C.require_once, include D.include, require E.以上皆可16.什么情况下声明函数时不能给参数赋默认值?A.当参数是布尔值时B.当函数是类中的成员时C.当参数是通过引用传递时D.当函数只有一个参数时 E.永远不会17.______操作符在两个操作数中有一个(不是全部)为True 时返回True。
答案:____________ 18.全等运算符===如何比较两个值?A.把它们转换成相同的数据类型再比较转换后的值B.只在两者的数据类型和值都相同时才返回True 8 C.如果两个值是字符串,则进行词汇比较 D.基于 strcmp 函数进行比较 E.把两个值都转换成字符串再比较19.以下哪个选项是把整型变量$a 的值乘以4?(双选)A.$a *= pow(2, 2);B.$a >>= 2;C.$a <<= 2;D.$a += $a + $a;E.一个都不对20.一段脚本如何才算彻底终止? A.当调用 exit()时 B.当执行到文件结尾时 C.当 PHP 崩溃时D.当 Apache 由于系统故障而终止时答案1.唯一有意义的答案是 B。
PHP 是一种基于 Zend 引擎的脚本语言,它通常被嵌入在 HTML 代码中。
它主要被用来开发 HTML 文档,但是也可以用它来开发其他类型的文档,比如 XML。
2. PHP 编程中,人们不太使用<% %>和两个标签,但它们确实是合法的 PHP 界定符。
标签是非法的,因此正确的答案是 D。
记住,根据 php.ini 文件中的配置不同,这当中的某些标签无法在特定的情况下使用。
3.PHP 变量以一个美元符号为开头,后面跟上任意数量的数字、字母和下划线。
${“MyVar”}是一个合法的变量名,它使用的是较松散的命名约定。
&$something 是对$something 的引用。
然而,变量名不能以数字为开头,$10_somethings 是非法的,因此答案是 D。
4.注意,$myarray 的键值并没有打上引号。
所以,正在访问的键不是myvalue 字符串,而是常量myvalue 的值。
最终访问的是$myarray[10],值是Dog,答案是A。
5.尽管print()和echo()在绝大多数情况下可以互换使用,但它们之间还是有一处不同。
print()是函数,有返回值;echo()实际上是一个语言结构,没有返回值,并且不能在表达式中使用。
因此,答案是 A。
6.%运算符表示取模,它返回两个操作数相除的余数。
<<是左移运算符,相当于乘以 2 的 N 次方。
最后的答案乘以了一个浮点数,改变了它的数据类型。
但是,由于小数点后是零,因此输出的结果不包含小数部分。
答案是 256(D)。
7.根据条件式的逻辑,要想得到 Hello, World!字符串,必须要在第一个if 结构中满足else 的条件。
因此$a 必须为False,然后$b 也必须为 False。
最内层的条件语句的实现要求先前的两个变量($a 和$b)是False,而$c 必须是True(答案是 D)。
8.正确答案是 C。
从 PHP4.2.0 开始,除非已经给定了一个伪随机整数列,否则不再需要用srand()函数初始化随机数生成器。
此外,即使随机数生成器没有被事先播种,脚本仍然会生成49 个伪随机字符。
尽管$array 变量是字符串,但可以用访问数组的方式进行访问——使用数字索引访问某个位置上的字符。
最后,for 循环将从 1 开始执行到 50,也就是执行了 49 次。
9.用一系列的if…else 语句来检查一个条件的代码块,最适合用switch 语句来替代。
switch($a){ case 'a': somefunction();break;case 'b': 10 anotherfunction();break;case 'c': dosomething();break;default: donothing();} ?> 因为 if 语句中有一个捕捉所有其他条件的else,对应的,switch 代码块需要一个default。
正确答案是 E。
10.通常情况下,foreach 语句是遍历数组的首选。
但是,由于foreach 语句是在数组的副本上进行操作,而我们需要给数组中每个元素重新赋值,所以在这里 foreach 就不适用了。
尽管也可以用 while 循环和do…while 循环,但由于数组是顺序索引的,最合适的语句还是 for 语句。
因此答案是 A。
$myarray = array(“My String”, “Another String”, “Hi, Mom!”);for($i = 0;$i < count($myarray);$i++){ $myarray[$i].= “($i)”;} ?> 11.由于题目只允许填写一行代码,唯一合适的是 for 循环,因此答案只能是 C 或者 D。
要选出能生成正确结果的 for 循环,我们必须先复习一下 for 循环的构成要素。
PHP 中,for 循环是这样声明的:for(<初始化>;<继续执行,直到>;<重复执行>)<初始化>在循环开始时执行一次,然后 for 循环开始执行大括号内的代码,直到<继续执行,直到>的值为False。
每完成一次循环,执行一次<重复执行>。
因此,正确的代码块应该是:for($idx = 1;$idx < STOP_AT;$idx *= 2)答案是 C。
12.5 个选项中,只有两个是合法的 PHP 函数声明(A 和 D)。
在这两个选项中,只有一个设置了参数的默认值——答案是 A。
13.本题考察PHP 中变量作用域的相关知识。
你必须明确global 关键字是如何将变量引入本地域的,以及$_GET、$_POST、$_COOKIE、$_REQUEST 等超级全局变量的作用域。
本题中,最终的数学表达式是5+25-25-10,等于-5,答案是B。
14.函数能被以一个包含着函数名的变量后面加上括号(以及必要的参数)的形式动态调用。