PHP复习题附答案资料
php笔试大全,包含答案

问题1.选择合适的答案填入空白处PHP 是一种______脚本语言,基于______引擎。
PHP 最常被用来开发动态的______内容,此外,它同样还可被用来生成______(以及其他)文档。
A.动态,PHP,数据库,HTMLB.嵌入式,Zend,HTML,XMLC.基于Perl 的,PHP,Web,静态D.嵌入式,Zend,Docbook 文档,MySQLE.基于Zend 的,PHP,图像,HTML2.以下哪种标签不是PHP 起始/结束符?A.<% %>B.C.D.E.3.以下代码哪个不符合PHP 语法?A.$_10B.${―MyVar‖}C.&$somethingD.$10_somethingsE.$aVaR4.运行以下代码将显示什么?define(myvalue, "10");$myarray[10] = "Dog";$myarray[] = "Human";$myarray['myvalue'] = "Cat";$myarray["Dog"] = "Cat";print "The value is: ";print $myarray[myvalue]."\n";?>2A.The Value is: DogB.The Value is: CatC.The Value is: HumanD.The Value is: 10E.Dog5.print()和echo()有什么区别?A.print()能作为表达式的一部分,echo()不能B.echo()能作为表达式的一部分,print()不能C.echo()能在CLI(命令行)版本的PHP 中使用,print()不能E.没有区别:两个函数都打印文本!6.以下脚本输出什么?$a = 10;$b = 20;$c = 4;$d = 8;$e = 1.0;$f = $c + $d * 2; 20$g = $f % 20; 0$h = $b - $a + $c + 2;16$i = $h << $c;$j = $i * $e;print $j;?>A.128B.42C.242.0D.256E.3427.如何给变量$a,$b 和$c 赋值才能使以下脚本显示字符串―Hello, World!‖? $string = "Hello, World!";$a = ?;false3$b = ?;$c = ?;if($a) {if($b && !$c) {echo "Goodbye Cruel World!";} else if(!$b && !$c) {echo "Nothing here";}}else {if(!$b) {if(!$a && (!$b && $c)) {echo "Hello, World!";} else {echo "Goodbye World!";}} else {}}?>A.False, True, FalseB.True, True, FalseC.False, True, TrueD.False, False, TrueE.True, True, True8.以下脚本输出什么?$array = '0123456789ABCDEFG';$s = '';for ($i = 1; $i < 50; $i++) {$s .= $array[rand(0,strlen ($array) - 1)]; => $s = $array[rand(0,16)] }echo $s;?>A.50 个随机字符组成的字符串B.49 个相同字符组成的字符串,因为没有初始化随机数生成器C.49 个随机字符组成的字符串D.什么都没有,因为$array 不是数组4E.49 个字母‗G‘组成的字符串9.哪种语句结构用来表现以下条件判断最合适?if($a == 'a') {somefunction();} else if ($a == 'b') {anotherfunction();} else if ($a == 'c') {dosomething();} else {donothing();}?>A.没有default 的switch 语句B.一个递归函数C.while 语句D.无法用别的形式表现该逻辑E.有default 的switch 语句10.要修改每个元素的值,如何遍历$myarray 数组最合适?$myarray = array ("My String","Another String","Hi, Mom!");A.用for 循环B.用foreach 循环C.用while 循环D.用do…while 循环E.办不到!11.考虑如下代码片段:define("STOP_AT", 1024);$result = array();/* 在此处填入代码*/{5$result[] = $idx;}print_r($result);?>标记处填入什么代码才能产生如下数组输出?Array{[0] => 1[1] => 2[2] => 4[3] => 8[4] => 16[5] => 32[6] => 64[7] => 128[8] => 256[9] => 512}A.foreach($result as $key => $val)B.while($idx *= 2)C.for($idx = 1; $idx < STOP_AT; $idx *= 2)D.for($idx *= 2; STOP_AT >= $idx; $idx = 0)E.while($idx < STOP_AT) do $idx *= 212.为用户定义函数is_leap()选择一个合适的函数声明。
php期末考试试题(含答案)

php期末考试试题(含答案)一、选择题(每题 5 分,共 25 分)1. PHP 代码中,用于定义一个常量的关键字是?A. constB. defineC. staticD. variable答案:A2. 以下哪个函数用于获取客户端请求的 IP 地址?A. getenv()B. $_SERVER['REMOTE_ADDR']C. ip2long()D. long2ip()答案:B3. 在 PHP 中,哪个变量用于存储表单提交的数据?A. $_GETB. $_POSTC. $_COOKIED. $_FILES答案:B4. 以下哪个函数用于生成一个随机字符串?A. rand()B. mt_rand()C. substr()D. bin2hex()答案:D5. 在 PHP 中,哪个函数用于检查变量是否为正整数?A. is_int()B. is_float()C. is_string()D. is_numeric()答案:A二、填空题(每题 5 分,共 25 分)1. PHP 代码中,用于定义变量的关键字是?答案:$2. 在 PHP 中,超级全局变量$_SERVER['PHP_SELF'] 用于获取?答案:当前请求的文件名3. PHP 中的数组可以使用哪种数据类型作为键值?答案:整数、浮点数、字符串、布尔值4. 以下哪个函数用于连接数据库?答案:mysqli_connect() 或 PDO::__construct()5. 在 PHP 中,哪个函数用于输出字符串?答案:echo 或 print()三、编程题(共 40 分)1. 编写一个 PHP 程序,实现以下功能:(1)接收用户输入的用户名和密码;(2)判断用户名和密码是否为空;(3)如果用户名和密码都不为空,则将其存储到数据库中;(4)如果用户名或密码为空,则提示用户输入完整信息。
答案:```php<?php// 连接数据库$conn = mysqli_connect("localhost", "username", "password", "database");// 检查连接if ($conn->connect_error) {die("连接失败: " . $conn->connect_error);}// 接收用户输入$username = $_POST['username'];$password = $_POST['password'];// 判断用户名和密码是否为空if (empty($username) || empty($password)) {echo "用户名和密码不能为空";} else {// 存储到数据库$sql = "INSERT INTO users (username, password) VALUES ('$username', '$password')";if ($conn->query($sql) === TRUE) {echo "新记录插入成功";} else {echo "Error: " . $sql . "<br>" . $conn->error;}}// 关闭数据库连接$conn->close();>```2. 编写一个 PHP 程序,实现以下功能:(1)接收用户上传的文件;(2)判断文件类型是否为图片;(3)如果文件类型为图片,则将其保存到服务器上;(4)如果文件类型不是图片,则提示用户上传错误。
php期末复习题及答案

php期末复习题及答案PHP期末复习题及答案一、选择题1. PHP是一种______。
A. 编译型语言B. 解释型语言C. 标记语言D. 数据库查询语言答案: B2. 下列哪个是PHP的内置超全局数组?A. $_SESSIONB. $_GETC. $_POSTD. $GLOBALS答案: D3. PHP中,哪个函数用于连接到MySQL数据库?A. connect()B. mysql_connect()C. mysqli_connect()D. database_connect()答案: C4. 下列哪个不是PHP的控制结构?A. if语句B. switch语句C. for循环D. goto语句答案: D5. 在PHP中,以下哪个是正确的字符串连接操作?A. "Hello" + "World"B. "Hello" . "World"C. "Hello" && "World"D. "Hello" || "World"答案: B二、填空题1. PHP的全称是______。
答案: Hypertext Preprocessor2. 在PHP中,使用______函数可以输出HTML内容。
答案: echo 或 print3. PHP变量的命名规则是:变量名必须以______字母或下划线开头。
答案:字母4. PHP中,______关键字用于定义类。
答案: class5. 在PHP中,______函数用于获取当前脚本的文件名。
答案: basename()三、简答题1. 请简述PHP与HTML的关系。
答案: PHP是一种服务器端脚本语言,可以生成动态网页。
HTML是一种标记语言,用于创建网页的结构和布局。
PHP通常嵌入HTML中,通过服务器执行PHP代码,生成HTML内容,然后发送给客户端浏览器显示。
php期末复习题及答案

php期末复习题及答案### PHP期末复习题及答案#### 一、选择题1. PHP是一种:- A. 网页设计语言- B. 服务器端脚本语言- C. 客户端脚本语言- D. 数据库查询语言答案:B2. 下列哪个是PHP的内置超全局数组?- A. `$_GET`- B. `$_POST`- C. `$_SESSION`- D. 所有选项答案:D3. 在PHP中,哪个函数可以用来获取当前脚本的文件名? - A. `basename()`- B. `dirname()`- C. `__FILE__`- D. `pathinfo()`答案:C#### 二、简答题1. 简述PHP中的变量作用域。
- 局部变量:在函数内部定义,只在函数内部有效。
- 全局变量:在整个脚本中都有效,可以在函数内部通过`global`关键字访问。
- 静态变量:在函数内部定义,函数调用结束后仍然保持其值。
2. 描述PHP中如何实现错误处理。
- 使用`try`和`catch`块来捕获和处理异常。
- 设置错误处理函数,使用`set_error_handler()`函数。
- 使用`error_reporting()`函数设置错误报告级别。
#### 三、编程题1. 编写一个PHP函数,实现计算两个数的和。
```phpfunction sum($num1, $num2) {return $num1 + $num2;}```2. 编写一个PHP脚本,使用`for`循环打印出1到10的数字。
```php<?phpfor ($i = 1; $i <= 10; $i++) {echo $i . "<br>";}>```#### 四、案例分析题给定以下PHP代码片段,分析并解释其功能:```php<?phpclass Person {private $name;public function __construct($name) {$this->name = $name;}public function greet() {echo "Hello, my name is " . $this->name . "!";}}$person = new Person("John");$person->greet();>```答案:这段代码定义了一个名为`Person`的类,它有一个私有属性`$name`和一个构造函数`__construct`,用于初始化`$name`属性。
PHP复习小测验试题及答案

PHP复习小测验试题及答案姓名: [填空题] *_________________________________一、单选题1. 分析以下程序代码,输出结果正确的是()。
<?phpfor($i=0,$sum=0;$i <10;++$i){$sum +=$i;}echo $i,',',$sum;> [单选题] *A、10,45(正确答案)B、10,36C、9,45D、9,362. 下列对象操作成员的方式正确的是()。
[单选题] *A、对象.成员B、对象[成员]C、对象->成员(正确答案)D、以上答案都不正确3. 下列选项中与“for(;;)”的功能相同的是()。
[单选题] *A、while(0)B、while(1)(正确答案)C、do...while(0)D、以上的答案都正确4. 下列选项中,哪些是合法的标识符()。
[单选题] *A、username(正确答案)B、123userC、this&thatD、aa$bb5. 以下选项中可以实现继承的关键字是()。
[单选题] *A、globalB、finalC、interfaceD、extends(正确答案)6. 下面选项中,用于查看MySQL中已经存在数据库的是() [单选题] *A、SHOW DATABASEB、SHOW CREATE DATABASE 数据库名称C、SHOW CREATE DATABASES 数据库名称D、SHOW DATABASES(正确答案)7. 关于final关键字,以下说法中正确的是()。
[单选题] *A、当我们不希望一个类的方法被其子类重写时,可以将这个方法用final关键字修饰(正确答案)B、当一个类被final关键字修饰过后仍然可以被继承C、当一个方法被final关键字修饰后,则该方法在子类中不可以进行重写,但是可以被覆盖D、以上说法都不正确8. 下列关于PHP的数据类型描述错误的是()。
php期末试题及答案

php期末试题及答案一、单项选择题(每题2分,共20分)1. PHP中,以下哪个关键字用于定义类?A. varB. classC. functionD. interface答案:B2. 在PHP中,以下哪个函数用于获取当前脚本的文件名?A. basename()B. dirname()C. realpath()D. __FILE__答案:D3. PHP中,以下哪个函数用于将字符串编码为URL编码格式?A. urlencode()B. urldecode()C. rawurlencode()D. base64_encode()答案:A4. 下列哪个选项是PHP中定义常量的正确方式?A. define("MY_CONSTANT", "value");B. const MY_CONSTANT = "value";C. var MY_CONSTANT = "value";D. let MY_CONSTANT = "value";答案:A5. PHP中,以下哪个函数用于将数组元素与键名关联起来?A. array_push()B. array_merge()C. array_combine()D. array_fill()答案:C6. 在PHP中,以下哪个关键字用于捕获异常?A. tryB. catchC. throwD. finally答案:B7. PHP中,以下哪个函数用于计算数组中元素的数量?A. count()B. sizeof()C. length()D. num_elements()答案:A8. 下列哪个选项是PHP中定义接口的正确方式?A. interface MyInterface { }B. class MyInterface { }C. function MyInterface { }D. abstract MyInterface { }答案:A9. PHP中,以下哪个函数用于获取当前脚本执行的时间?A. time()B. microtime()C. getdate()D. date()答案:B10. 在PHP中,以下哪个关键字用于定义抽象类?A. abstractB. finalC. interfaceD. class答案:A二、多项选择题(每题3分,共15分)1. PHP中,以下哪些函数可以用于输出内容到浏览器?A. echoB. printC. printfD. return答案:A, B, C2. 下列哪些关键字用于定义类中的方法?A. publicB. privateC. protectedD. static答案:A, B, C3. PHP中,以下哪些函数用于数组操作?A. array_shift()B. array_pop()C. array_push()D. array_unshift()答案:A, B, C, D4. 下列哪些选项是PHP中定义类属性的正确方式?A. public $property;B. private $property;C. protected $property;D. var $property;答案:A, B, C5. PHP中,以下哪些关键字用于控制流程?A. ifB. elseC. switchD. foreach答案:A, B, C, D三、简答题(每题5分,共20分)1. 请简述PHP中如何实现类的继承。
php试题及答案五篇范文

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 脚本使用______。
php期末试题及答案

php期末试题及答案PHP期末试题及答案一、选择题(每题2分,共20分)1. PHP是以下哪种类型的语言?A. 编译型语言B. 解释型语言C. 标记型语言D. 汇编语言答案:B2. 下列哪个是PHP的内置超全局变量,用于获取当前脚本的文件名?A. $_SERVERB. $_GETC. $_POSTD. $_SESSION答案:A3. 在PHP中,以下哪个函数用于将字符串转换为小写?A. strtoupper()B. strtolower()C. ucfirst()D. ucwords()答案:B4. 下列哪个选项是正确的PHP注释方式?A. //B. /*C. /*D. <!--答案:B5. 在PHP中,以下哪个关键字用于定义类?A. defineB. classC. functionD. interface答案:B6. PHP中,以下哪个函数用于输出HTML内容?A. echoB. printC. printfD. print_r答案:A7. 下列哪个选项是PHP中定义常量的正确方式?A. define("CONSTANT_NAME", "value");B. const "CONSTANT_NAME" = "value";C. constant("CONSTANT_NAME", "value");D. constant "CONSTANT_NAME" = "value";答案:A8. 在PHP中,哪个函数用于计算数组中元素的个数?A. count()B. array_count()C. size()D. length()答案:A9. 下列哪个选项是PHP中定义数组的正确方式?A. $array = array("apple", "banana", "cherry");B. $array = new Array("apple", "banana", "cherry");C. $array = ["apple", "banana", "cherry"];D. $array = list("apple", "banana", "cherry");答案:C10. PHP中,以下哪个函数用于获取当前的年份?A. date("Y")B. time()C. mktime()D. getdate()答案:A二、填空题(每空2分,共20分)1. PHP代码通常以______作为起始标记,以______作为结束标记。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章数据与变量
1.写出相关PHP代码的输出结果。
(1)
$a = "hello";
$b = &$a;
$b = 100;
echo $a;
答案:100
(2)
$test = ‘aaaaaa’;
$abc = &$test;
unset($test);
echo $abc;
答案:aaaaaa
(3)
$var1 = 5;
$str1 = null;
$str2 = false;
var_dump($str1==$str2);
答案:bool(true)
(2)
$str1= 0;
$str2 =‘0’;
var_dump($str1===$str2);
答案:bool(false)
(3)
$a2 = false;
echo empty($a2) ? ‘true’ : ‘false’;
if($a){
include("a.php");
}
而require()则和include()不同,不管$a取何值,下面的代码将把文件a.php包含进文件里:
if($a){
require("a.php");
}
require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。
答案:
GET方式:url.php?id=1得到方式$_GET['id']
POST方式:在form表单里面把action="url.php",然后在url.php里面用$_POST['id']去得到
include使用方法如include("MyIncludeFile.php");。这个函数一般是放在流程控制的处理部分中。PHP程序网页在读到include的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
include()与require()的功能也基本相同(包含),但在用法上也有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面代码中,如果变量$a为真,则将包含文件a.php:
(2)“===”是什么?试举一个“==”是真但“===”是假的例子。
答案:“===”是既可以返回布尔值“假”,也可以返回一个不是布尔值但却可以赋与“假”值的函式,strpos()和strrpos()便是其中两个例子。
if (strpos("abc", "a") == true){
//这部分永不会被执行,因为"a"的位置是0,换算成布尔值“假”
答案:true
(4)
$a4 = ”;
echo empty($a4) ? ‘true’ : ‘false’;
答案:true
(5)
$a6 = ‘null’;
echo empty($a6) ? ‘true’ : ‘false’;
答案:false
(6)
$a8 = array(array());
echo empty($a8) ? ‘true’ : ‘false’;
$var2 = 1;
function get_value(){
global $var2;
$var1 = 0;
return $var2++;
}
get_value();
echo $var1, $var2;
答案:52
(4)
function get_count(){
static $count =2;
return $count++;
答案:10
(2)
function get_arr($arr){
unset($arr[0]);
}
$arr1 = array(1, 2);
get_arr($arr1);
echo count($arr1);//count个数
答案:2
(3)
function sum(...$numbers) {
$acc = 0;
答案:false
(7)
$i=10;
$n = $i++;
echo $n, $i++, ++$i;
答案:101113
2.简答题
(1) include与require的区别。
答案:
require的使用方法如require("MyRequireFile.php");。这个函数通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require所指定引入的文件,使它变成PHP程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
foreach ($numbers as $n) {
$acc += $n;
}
return $acc;
}
echo sum(1, 2, 3, 4, 5);
答案:15
2.写代码、编程序
(1)编写用户定义函数is_leap,用于测试参数($year)指定的年份是否是闰年,并返回一个布尔型的值。参数($year)的默认值是2000。
}
}
else{//剩下的就是普通年了
if($year%4==0&&$year%100!=0){
return "普通年".$year."是闰年!";//普通年里的闰年
}
else {
return "普通年".$year."不是闰年!";
}
}
}
?>
3.简答题
(1) php中函数传递参数的方式有哪两种?两者有什么区别?
}
$count = 5;
get_count();
echo get_count();
答案:3
(5)
$num =10;
function multiply(){
$num =$num *10;
}
multiply();
echo $num;答案:10
第3章运算符与控制流程
1.写出相关PHP代码的输出结果。
(1)
答案:
<?php
function is_leap($year){
if($year%100==0){//判断世纪年
if ($year%400==0&&$year%3200!=0){
return "世纪年".$year."是闰年!";//世纪年里的闰年
}
else{
return "世纪年".$year."不是闰年!";
}
if (strpos("abc", "a") === true){ //这部份会被执行,因为“===”保证函式strpos()的送回值不会换算成布尔值.}
第4章PHP函数
1.写出相关PHP代码的输出结果。
(1)
function m($val){
++$val;
}
$val = 10;
m($val);
echo $val;