### PHP面试题解析 #### 1. PHP的基本概念 **题目:** PHP是一种______脚本语言,基于______引擎。PHP最常被用来开发动态的______内容,此外,它同样还可被用来生成______(以及其他)文档。 **选项:** A. 动态,PHP,数据库,HTML B. 嵌入式,Zend,HTML,XML C. 基于Perl的,PHP,Web,静态 D. 嵌入式,Zend,Docbook文档,MySQL E. 基于Zend的,PHP,图像,HTML **答案:** B **解析:** PHP是一种基于Zend引擎的脚本语言,这意味着它是在Zend引擎的基础上实现的,这是一组用于解释和执行PHP代码的核心组件和技术。PHP通常被嵌入到HTML代码中,用于动态生成HTML页面。此外,PHP还可以用于生成XML等其他类型的文档。因此,正确答案为B。 #### 2. PHP的起始/结束标记 **题目:** 以下哪种标签不是PHP起始/结束符? **选项:** A. `<%%>` B. `//` C. `<?php?>` D. `/**/` E. `//` 和 `/**/` **答案:** D **解析:** 在PHP中,常用的起始和结束标记有`<?php` 和 `?>`。另外,`<%%>` 也是合法的标记,尽管较少使用。`//` 和 `/**/` 分别是单行注释和多行注释的标记,而不是PHP的起始/结束标记。因此,D项是非法的,正确答案为D。需要注意的是,根据`php.ini`文件中的配置,某些标记可能不可用。 #### 3. PHP变量命名规则 **题目:** 以下代码哪个不符合PHP语法? **选项:** A. `$_10` B. `${"MyVar"}` C. `&$something` D. `$10_somethings` E. `$aVaR` **答案:** D **解析:** PHP变量必须以美元符号`$`开头,后面跟着一个字母或下划线`_`,之后可以跟任何字母、数字或下划线。`$_10` 是合法的,因为它以`_`开始;`${"MyVar"}` 是合法的,表示动态变量名;`&$something` 表示对变量的引用;`$aVaR` 也是合法的变量名。但是,`$10_somethings` 不合法,因为变量名不能以数字开头。因此,正确答案为D。 #### 4. PHP数组操作 **题目:** 运行以下代码将显示什么? ```php define("myvalue", "10"); $myarray[10] = "Dog"; $myarray[] = "Human"; $myarray['myvalue'] = "Cat"; $myarray["Dog"] = "Cat"; print "The value is: "; print $myarray[myvalue]. "\n"; ``` **选项:** A. The Value is: Dog B. The Value is: Cat C. The Value is: Human D. The Value is: 10 E. Dog **答案:** A **解析:** 在这段代码中,`$myarray[myvalue]` 实际上是指向`$myarray[10]`,因为`myvalue`是一个定义为`10`的常量。因此,`$myarray[10]` 的值为“Dog”。故正确答案为A。 #### 5. print()与echo() **题目:** print()和echo()有什么区别? **选项:** A. print()能作为表达式的一部分,echo()不能 B. echo()能作为表达式的一部分,print()不能 C. echo()能在CLI(命令行)版本的PHP中使用,print()不能 D. print()能在CLI(命令行)版本的PHP中使用,echo()不能 E. 没有区别:两个函数都打印文本! **答案:** A **解析:** `print()` 和 `echo()` 都用于输出字符串,但在技术上有所不同。`print()` 是一个函数,可以返回1作为其值,因此可以在表达式中使用;而 `echo()` 实际上是一个语言结构,不能返回任何值,也不能用作表达式的一部分。因此,正确答案为A。 #### 6. PHP运算符应用 **题目:** 以下脚本输出什么? ```php $a = 10; $b = 20; $c = 4; $d = 8; $e = 1.0; $f = $c + $d * 2; $g = $f % 20; $h = $b - $a + $c + 2; $i = $h << $c; $j = $i * $e; print $j; ``` **选项:** A. 128 B. 42 C. 242.0 D. 256 E. 342 **答案:** D **解析:** 在这段代码中,首先计算`$f`的值为`4 + 8 * 2 = 20`。然后,`$g`的值为`20 % 20 = 0`。接着,`$h`的值为`20 - 10 + 4 + 2 = 16`。之后,`$i`的值为`16 << 4 = 256`(左移位运算相当于乘以2的四次方)。`$j`的值为`256 * 1.0 = 256`。因此,正确答案为D。 #### 7. 条件判断 **题目:** 如何给变量$a,$b和$c赋值才能使以下脚本显示字符串“Hello,World!”? ```php $string = "Hello,World!"; $a = ?; $b = ?; $c = ?; if ($a) { if ($b && !$c) { echo "Goodbye Cruel World!"; } elseif (!$b && !$c) { echo "Nothing here"; } } else { if (!$b) { if (!$a && (!$b && $c)) { echo "Hello, World!"; } else { echo "Goodbye World!"; } } else { echo "Not quite."; } } ``` **选项:** A. False, True, False B. True, True, False C. False, True, True D. False, False, True E. True, True, True **答案:** D **解析:** 为了使脚本输出“Hello, World!”,需要满足的条件是`$a`为`false`,`$b`也为`false`,并且`$c`为`true`。这样,代码会进入`else`分支,并进一步进入第二个`if (!$b)`分支,再进入`if (!$a && (!$b && $c))`分支,从而输出“Hello, World!”。因此,正确答案为D。
剩余40页未读,继续阅读
- 粉丝: 0
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助