PHP复习题附答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)写出一个能匹配身份证号码(18位)的正则表达式。
3.简答题
(1)以下代码是判断字符串中是否存在#符号,请问是否正确?若错误,请修改之。
if(strpos($str, "#")) { … }//如果是第一个找到,返回0.则是fulse,不符合,改成!=fulse
第6章MySQL与PHP
一.根据要求写代码
include使用方法如include("MyIncludeFile.php");。这个函数一般是放在流程控制的处理部分中。PHP程序网页在读到include的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
include()与require()的功能也基本相同(包含),但在用法上也有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面代码中,如果变量$a为真,则将包含文件a.php:
while($row = $stmt->fetch()) {
echo $sn.” “.$password.” “.$name.” “.$gender.”<br />”;
}
二、简答题
1.在PHP中,如何利用mysqli类实现与MySQL数据库的连接?
答案:mysqldump -u root -p mydb > mysql.sql
3.假设与数据库的连接已经建立,连接对象是$mysqli。现在请写出代码:执行查询语句"SELECT * FROM student",然后输出查询结果的行数。
答案:$result=$mysqli->query(“SELECT * FORM student”);
print_r($result);
答案:Array ( [0] => white queen [1] => queen )
(10)
$a = preg_match ('/^[a-zA-Z_]\w*$/', "^awww");//w单词字符
$b = preg_match ('/^[a-zA-Z_]\w*$/', "_123_");
1.在MySQL监视器命令行状态下,创建一个名为mydb的数据库,数据库的默认字符集为utf8,排序规则为utf8_bin。
答案:creste database mydb character set=utf8 collate=utf8_bin
2.对数据库mydb中所有表的结构和数据进行备份,备份产生的sql脚本文件mydb.sql保存在当前目录下。假设用户名为root,无密码。
答案:false
(7)
$i=10;
$n = $i++;
echo $n, $i++, ++$i;
答案:101113
2.简答题
(1) include与require的区别。
答案:
require的使用方法如require("MyRequireFile.php");。这个函数通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require所指定引入的文件,使它变成PHP程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
(8)
$a = preg_match("/111[^abc]999/", "other111a999");//不能有a,b,c
$b = preg_match("/111[\w\D]999/", "111w111,999");
echo $a.$b;
答案:01
(9)
preg_match('/(?:red|white) (king|queen)/', 'the white queen', $result);
$s[$s[1]] = '2';
echo $s;答案:12245
(6)
$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);
$row=$result->fetch_array();
5.下面PHP代码执行一条预处理的SQL SELECT语句,并显示查询结果。其中,$mysqli是一个已经创建的数据库连接对象。请根据注释完善代码。
$stmt = $mysqli->stmt_init();
$sql = "select sn,password,name,gender from student where gender = ?";
if($a){
include("a.php");
}
而require()则和include()不同,不管$a取何值,下面的代码将把文件a.php包含进文件里:
if($a){
require("a.php");
}
require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。
}
}
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)
foreach ($numbers as $n) {
$acc += $n;
}
return $acc;
}
echo sum(1, 2, 3, 4, 5);
答案:15
2.写代码、编程序
(1)编写用户定义函数is_leap,用于测试参数($year)指定的年份是否是闰年,并返回一个布尔型的值。参数($year)的默认值是2000。
$stmt->prepare($sql);
$var1 = "男";
____$stmt->bind_param(“s”,$var1);__ //将变量$var1绑定至预处理语句中的参数
$stmt->execute();
____$stmt->bind _result($sn,$password,$name,$gender);__ //将查询结果各列绑定至变量
}
if (strpos("abc", "a") === true){ //这部份会被执行,因为“===”保证函式strpos()的送回值不会换算成布尔值.}
第4章PHP函数
1.写出相关PHP代码的输出结果。
(1)
function m($val){
++$val;
}
$val = 10;
m($val);
echo $val;
答案: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’;
(3)
$str = "Java语言Java语言";
$str1 = "av";
echo strpos($str, $str1, 2);
答案:11
(4)
$str = "Java语言Java语言";
$str1 = "av";
echo strrpos($str, $str1, -10);
答案:1
(5)
$s = '12345';
(2)“===”是什么?试举一个“==”是真但“===”是假的例子。
答案:“===”是既可以返回布尔值“假”,也可以返回一个不是布尔值但却可以赋与“假”值的函式,strpos()和strrpos()便是其中两个例子。
if (strpos("abc", "a") == true){
//这部分永不会被执行,因为"a"的位置是0,换算成布尔值“假”
答案: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;
$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++;
php复习题
第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;
答案:
<?php
function is_leap($year){
if($year%100==0){//判断世纪年
if ($year%400==0&&$year%3200!=0){
return "世纪年".$year."是闰年!";//世纪年里的闰年
}
else{
return "世纪年".$year."不是闰年!";
答案:
GET方式:url.php?id=1得到方式$_GET['id']
POST方式:在form表单里面把action="url.php",然后在url.php里面用$_POST['id']去得到
第5章处理字符串
1.写出相关PHP代码的输出结果。
(1)假设程序代码使用UTF-8编码。
$str = "您好hello"; //汉字在utf-8里占3个
echo strlen($str);
答案:11
(2)
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
usort($arr1, "strcmp");
print_r($arr1);
答案:Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png )
Echo $result->num_rows;
4.假设下面代码已经成功执行,其中mysqli表示与数据库的连接对象:
$result = $mysqli->query("SELECT * FROM student");
现在请写代码,要求是:获取查询结果第3行的数据并放入数组$row中。
答案:$result->data_seek(2);
$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’;
echo $a.$b;
答案:01
2.写代码、编程题
(1)给定一个用逗号分隔一组值的字符串$str,请写php代码把每个独立的值放入一个新创建的数组$arr中。
(2)有如下数组:
$arr = array('james', 'tom', 'symfony');
请写PHP代码将$arr数组的各元素值用逗号连接合并成一个字符串并输出。
答案:F
(7)
$str = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$str1 = nl2br($str);
$str2 = htmlspecialchars($str1);//用实体来表示
echo $str2;
答案:Line 1<br /> Line 2<br /> Line 3<br /> Line 4<br />
相关文档
最新文档