Phần trắc nghiệm: (8 điểm)
Câu 1. Đoạn sau cho kết quả gì?
define("GREETING", "PHP is a scripting language");
echo '$GREETING ';
a) $GREETING b) Không xuất
c) PHP is a scripting language d) GREETING
Câu 2. Đoạn mã sau cho kết quả là gì?
define("VAR_NAME","test");
${VAR_NAME} = "value"; echo VAR_NAME;echo ${VAR_NAME};
a) testtest b) testvalue
c) error, constant value cannot be changed d) test
Câu 3. Đoạn sau cho kết quả gì?
$x=1; $y=2; $a = "$x";$b = "\$y";
echo $a,$b;
a)
$x\$y b)1\$y c) 1\2 d) 1$y
Câu 4. Đoạn sau cho kết quả gì?
$input="PHP<td>stands for</td>Hypertext<i>Preprocessor</i>!";
$input = strip_tags($input,"<i></i>"); echo $input;
a)
PHPstands forHypertext<i>Preprocessor</i>!
b)
PHP stands for Hypertext Preprocessor!
c)
PHP <td>stands for</td> Hypertext <i>Preprocessor</i>!
d)
PHP <td>stands for</td> Hypertext Preprocessor!
Câu 5. Đoạn sau cho kết quả gì?
$x = 5;$y = 10;
function fun(){ $y = $GLOBALS['x'] + $GLOBALS['y']; }
fun(); echo $y;
a)
5 b) 10 c) 15 d) Error
Câu 6. Đoạn sau cho kết quả gì?
$foo = 'Bob'; $bar = &$foo;
$bar = "My name is $bar"; echo $bar; echo $foo;
a)
Error b) My name is BobBob
c) My name is BobMy name is Bob d) My name is Bob Bob
Câu 7. Kết quả đoạn sau gì?
error_reporting(0); $total = "25 students";$more = 10;
$total = $total + $more; echo "$total";
a) Error b) 35 students
c) 35 d) 25 students
Câu 8. Kết quả đoạn sau gì?
function track(){static $count = 0;
$count++;
echo $count;}
track(); track(); track();
a) 123 b) 111 c) 000 d) 011
Câu 9 . Kết quả đoạn sau gì?
function foo($msg){ echo "$msg"; }
$var1 = "foo"; $var1("will this work");
a) Error b) $msg c) 0 d) Will this work
Đề 1 trang 2
Câu 10. Kết quả đoạn sau gì?
define('MAX',100); echo max;
a) 100 b) Lỗi chưa định nghĩa hằng số max
c) Lỗi chưa khai báo biến max d) Lỗi pháp
Câu 11. Kết quả đoạn sau gì?
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue","h"=>"orange");
$a3 = array("i" => "orange"); $a4 = array_merge($a2, $a3);
$result = array_diff($a1, $a4); print_r($result);
a) Array ( [d] => yellow ) b) Array ( [i] => orange )
c) Array ( [h] => orange ) d) Array ( [d] => yellow [h] => orange )
Câu 12. Kết quả đoạn sau gì?
$a = array("a" => "india", "b" => "brazil", "c" => "china");
echo array_shift($a); echo "_"; array_pop($a);print_r($a);
a) india_Array ( [b] => brazil ) b) india_Array ( [a] => brazil )
c) china_Array ( [a] => india ) d) china_Array ( [a] => brazil )
Câu 13. Kết quả đoạn sau gì?
$a = [1, 2, 3, 4, 5];
for ($i = 0; $i < count($a) - 1; $i++) {
if ($a[$i++] == 3) continue;
printf($a[$i]);
}
a)1 b) 2 c) 4 d) 5
Câu 14. Kết quả đoạn sau gì?
$x=5; $y="5";
$z=17 % 6;
if($x===$y) echo "Hi";
elseif ($x==$z) echo "Good Morning";
else echo "Hello";
a) Không xuất gì? b) Good Morning c) Hello d) Lỗi
Câu 15. Kết quả đoạn sau gì?
if(preg_match("/[^a-z589]+/","ABaskhe589GH",$a))
{ echo "<pre>\n";print_r($a[0]);echo "</pre>\n";
}
a) 589 b) ABGH c) askhe589 d) AB
Câu 16. Kết quả đoạn sau gì?
$email='user@gmail.com'; $x=strstr($email,'@'); echo $x;
a) user b) user@gmail.com c) @gmail.com d) gmail.com
Câu 17. Dòng lệnh nào sao đây hợp lệ
a) constant PI="3.14"; b) const $PI="3.14";
c) constant PI='3.14'; d) const PI='3.14';
Câu 18. Kết quả đoạn sau gì?
$color = array("red", "yellow", "white");
$x = in_array("black", $color);
if ($x == 0) echo "No";
else if ($x == 1) echo "Yes";
else echo "No message";
a) No b) Yes c) No message d) Lỗi
Câu 19. Kết quả đoạn sau gì?
Đề 1 trang 3
$a=["3"=>3,"1"=>1,5]; $a[]=6; $b=array_keys($a);
echo array_sum($b);
a) 18 b) 13 c) 4 d) lỗi
Câu 20. Kết quả đoạn sau gì?
$a=array(1,2,3,4,5); $t = 0;
foreach($a as $k=>$v) if ($k%2) $t += $v;
echo $t;
a) 00 b) 15 c) 6 d) 0
Câu 21. Đâu hàm tạo đúng của class A
a) public function _ _construct(){} b) protected function _ _construct(){}
c) Cả 2 a, b đúng d) Cả 2 a, b sai
Định nghĩa class A sau sử dụng cho các câu từ 22 đến 25.
class A{
const SIZE = 10; public static $N = 1;
public $a1=10; protected $a2=20;
public function _ _construct($a1=1, $a2=2){
$this->a1 = $a1; $this->a2 = $a2;
}
function F1(){echo $this->a1."-" .$this->a2;}
protected function F2()
{echo $this->a1."*" .$this->a2;}
}
Câu 22. Đoạn nào đúng (không lỗi)?
a)
$x = new A(3); b) $x = new A(1, 4);
c) $x = new A(); d) Tất cả a, b, c đều đúng
Câu 23. Kết quả đoạn script sau: $x= new A(4, 6);$x->F1();
a) 4-6 b) 1-2 c) -1 d) Tất cả sai
Câu 24. Sau lệnh: $x = new A(); Lệnh để truy xuất hằng số SIZE
a) $x::SIZE; b) A::SIZE; c) Cả 2 a, b đúng d) Cả 2 a, b sai
Câu 25. Để truy xuất biến static $N sau lệnh: $x = new A(2, 5);
a)
A::$N; b) $x->N; c)A->N; d) Tất cả đều đúng
Câu 26. SQLInjecttion là?
a)
Một ngôn ng của database
b)
Một lỗi hệ thống webserver apache
c)
Một lỗi xử dữ liệu của javascript
d)
Một kỹ thuật lợi dụng những lỗ hổng về câu truy vấn của các ứng dụng
Câu 27. Php thể kết nối tới các hệ quản trị CSDL?
a)
Mysq MariaDB b) Sqlserver
c) Oracle d) Tất cả đều đúng
Câu 28. Port mặc định của CSDL Mysql là:
a) 3307 b) 80 c) 3306 d)Tất cả đều sai
Câu 29. File cấu hình của hệ quản trị CSDL mysql trên hệ điều hành windows là:
a) Php.ini b) My.ini c) httpd.conf d) Tất cả đều đúng
Câu 30. Đâu 1 hệ quản trị CSDL?
a) mariaDb b) phpMyAdmin
c) Wampserver d) Tất cả đều đúng
Đề 1 trang 4
Câu 31. Trong mysql, câu truy vấn lấy ra 10 dòng dữ liệu có price nhỏ nhất đầu tiên trong
table book là
a)
select * from book order by price limit 0,10;
b)
select * from book order by price limit 10;
c)
Cả 2 đều đúng
d)
Cả 2 đều sai
Câu 32. Để kết nối tới Database, php 7 thể sử dụng các thư viện
a) PDO b) Mysqli c) Mysql d) Cả 2 a, b đúng
Câu 33. Đâu câu lệnh kết nối tới database MariaDb (port 3306) tại máy localhost sử dụng
username root và password rỗng
a)
$conn= new PDO("mysql:host=localhost;dbname=bookstore", "root", "");
b)
$conn= new PDO("mariaDb:host=localhost;dbname=bookstore", "root", "");
c)
$conn= new PDO("mariaDb:host=localhost:3306;dbname=bookstore", "root", "");
d)
Tất cả đều đúng
Câu 34. Để tạo liên kết khoá ngoại 2 table trong mysql, kiểu lưu trữ của 2 table
a)
MyISAM b) InnoDB c) Memory d) Merge
Câu 35. $connect biến kết nối tới database bookstore sử dụng PDO. Để lấy các book
cột bookname chứa giá trị trong biến $t là:
a)
$stm = $connect->query("select * from book where tenloai like '%$t%' ";
b)
$stm = $connect->prepare("select * from book where book_name like ? ");
$stm->execute(["%$t%"]);
c)
a b sai
d)
a b đúng
Câu 36. $connect biến kết nối tới database bookstore sử dụng PDO. Để thêm 1 dòng vào
table category (cat_id (nvarchar(5), cat_name (nvarchar(50)).
$a =['1', 'Loai 1']; $stmt = $connect ->prepare($sql);
$stmt->execute($a);
Nội dung biến $sql sẽ là:
a)
"insert into category values(?, ?)";
b)
"insert into category values(a[0], $a[1])";
c)
"insert into category values($a)";
d)
Tất cả đều sai
Câu 37. Để lấy số dòng trả về sau khi thực thi lệnh:
$stmt=$connect ->query('select * from book ');
a)
$n = $stmt->rowCount();
b)
$n = $stmt->rowCount;
c)
$n = $stmt->Count;
d)
$n = $stmt->Count();
Câu 38. $stmt=$connect->query('select * from book');
$data = $stmt->fetch(PDO::FETCH_ASSOC);
a)
$data mảng chứa tất cả các cuốn sách
b)
$data biến mảng chứa các object. Mỗi object chứa một cuốn sách
c)
$data mảng chứa thông tin một cuốn sách
d)
$data object chứa thông tin một cuốn sách
Câu 39. Khác nhau giữa PDO mysqli khi làm việc với CSDL
a)
PDO thể làm việc với nhiều loại csdl, mysqli chỉ làm việc với mysql
b)
Mysqli thể làm việc với nhiều loại csdl, PDO chỉ làm việc với mysql
c)
Cả 2 loại chỉ thao tác được với Mysql
Đề 1 trang 5
d)
Cả 2 loại thể thao tác được nhiều loại csdl khác nhau
Câu 40. $stmt=$connect->query('select * from book');
$data = $stmt->fetch(PDO::FETCH_OBJ);
Câu lệnh in ra gtrị tên sách (book_name) là:
a)
echo $data[0]->book_name;
b)
echo $data['book_name'];
c)
echo $data[0]['book_name'];
d)
echo $data->book_name;
Phần tự luận. (2 điểm)
Cho mảng $cart phỏng dữ liệu giỏ hàng. Các giá trị id1, id2,..: các sản phẩm.
Khuyenmai: Phần trăm khuyến mãi của sản phẩm (có gtrị 0-100).
$cart=[
'id1'=>['tenSP'=>'Iphone
15',
'soluong'=>1,
'dongia'=>28000000,
'khuyenmai'=>10],
'id2'=>['tenSP'=>'Samsung',
'soluong'=>2,
'dongia'=>30990000,
'khuyenmai'=>30],
'id3'=>['tenSP'=>'Man Hinh
',
'soluong'=>2,
'dongia'=>2100000,
'khuyenmai'=>0],
'id4'=>['tenSP'=>'Mouse',
'soluong'=>3,
'dongia'=>1900000,
'khuyenmai'=>15],
];
Hãy viết code duyệt qua mảng để hiển thị mảng này ra bảng html như hình sau
......................................HẾT....................................
Đề 1 trang 6

Preview text:

Phần trắc nghiệm: (8 điểm)
Câu 1. Đoạn mã sau cho kết quả là gì?
define("GREETING", "PHP is a scripting language"); echo '$GREETING '; a) $GREETING b) Không xuất gì
c) PHP is a scripting language d) GREETING
Câu 2. Đoạn mã sau cho kết quả là gì? define("VAR_NAME","test");
${VAR_NAME} = "value"; echo VAR_NAME;echo ${VAR_NAME}; a) testtest b) testvalue
c) error, constant value cannot be changed d) test
Câu 3. Đoạn mã sau cho kết quả là gì? $x=1; $y=2;
$a = "$x";$b = "\$y"; echo $a,$b; a) $x\$y b)1\$y c) 1\2 d) 1$y
Câu 4. Đoạn mã sau cho kết quả là gì?
$input="PHPstands forHypertextPreprocessor!";
$input = strip_tags($input,""); echo $input;
a) PHPstands forHypertextPreprocessor!
b) PHP stands for Hypertext Preprocessor!
c) PHP stands for Hypertext Preprocessor!
d) PHP stands for Hypertext Preprocessor!
Câu 5. Đoạn mã sau cho kết quả là gì? $x = 5;$y = 10; function fun(){
$y = $GLOBALS['x'] + $GLOBALS['y']; } fun(); echo $y; a) 5 b) 10 c) 15 d) Error
Câu 6. Đoạn mã sau cho kết quả là gì? $foo = 'Bob'; $bar = &$foo; $bar = "My name is $bar"; echo $bar; echo $foo; a) Error b) My name is BobBob
c) My name is BobMy name is Bob d) My name is Bob Bob
Câu 7. Kết quả đoạn mã sau là gì? error_reporting(0);
$total = "25 students";$more = 10; $total = $total + $more; echo "$total"; a) Error b) 35 students c) 35 d) 25 students
Câu 8. Kết quả đoạn mã sau là gì?
function track(){static $count = 0; $count++; echo $count;} track(); track(); track(); a) 123 b) 111 c) 000 d) 011
Câu 9 . Kết quả đoạn mã sau là gì? function foo($msg){ echo "$msg"; } $var1 = "foo"; $var1("will this work"); a) Error b) $msg c) 0 d) Will this work Đề 1 – trang 2
Câu 10. Kết quả đoạn mã sau là gì? define('MAX',100); echo max; a) 100
b) Lỗi chưa định nghĩa hằng số max
c) Lỗi chưa khai báo biến max d) Lỗi cú pháp
Câu 11. Kết quả đoạn mã sau là gì?
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue","h"=>"orange");
$a3 = array("i" => "orange"); $a4 = array_merge($a2, $a3);
$result = array_diff($a1, $a4); print_r($result); a) Array ( [d] => yellow ) b) Array ( [i] => orange ) c) Array ( [h] => orange )
d) Array ( [d] => yellow [h] => orange )
Câu 12. Kết quả đoạn mã sau là gì?
$a = array("a" => "india", "b" => "brazil", "c" => "china");
echo array_shift($a); echo "_"; array_pop($a);print_r($a);
a) india_Array ( [b] => brazil )
b) india_Array ( [a] => brazil )
c) china_Array ( [a] => india )
d) china_Array ( [a] => brazil )
Câu 13. Kết quả đoạn mã sau là gì? $a = [1, 2, 3, 4, 5];
for ($i = 0; $i < count($a) - 1; $i++) { if ($a[$i++] == 3) continue; printf($a[$i]); } a)1 b) 2 c) 4 d) 5
Câu 14. Kết quả đoạn mã sau là gì? $x=5; $y="5"; $z=17 % 6; if($x===$y) echo "Hi";
elseif ($x==$z) echo "Good Morning"; else echo "Hello"; a) Không xuất gì? b) Good Morning c) Hello d) Lỗi
Câu 15. Kết quả đoạn mã sau là gì?
if(preg_match("/[^a-z589]+/","ABaskhe589GH",$a)) {
echo "\n";print_r($a[0]);echo "\n"; } a) 589 b) ABGH c) askhe589 d) AB
Câu 16. Kết quả đoạn mã sau là gì? $email='user@gmail.com';
$x=strstr($email,'@'); echo $x; a) user b) user@gmail.com c) @gmail.com d) gmail.com
Câu 17. Dòng lệnh nào sao đây hợp lệ a) constant PI="3.14"; b) const $PI="3.14"; c) constant PI='3.14'; d) const PI='3.14';
Câu 18. Kết quả đoạn mã sau là gì?
$color = array("red", "yellow", "white");
$x = in_array("black", $color); if ($x == 0) echo "No"; else if ($x == 1) echo "Yes"; else echo "No message"; a) No b) Yes c) No message d) Lỗi
Câu 19. Kết quả đoạn mã sau là gì? Đề 1 – trang 3
$a=["3"=>3,"1"=>1,5]; $a[]=6; $b=array_keys($a); echo array_sum($b); a) 18 b) 13 c) 4 d) lỗi
Câu 20. Kết quả đoạn mã sau là gì? $a=array(1,2,3,4,5); $t = 0;
foreach($a as $k=>$v) if ($k%2) $t += $v; echo $t; a) 00 b) 15 c) 6 d) 0
Câu 21. Đâu là hàm tạo đúng của class A
a) public function _ _construct(){}
b) protected function _ _construct(){} c) Cả 2 a, b đúng d) Cả 2 a, b sai
Định nghĩa class A sau sử dụng cho các câu từ 22 đến 25. class A{ const SIZE = 10; public static $N = 1; public $a1=10; protected $a2=20;
public function _ _construct($a1=1, $a2=2){ $this->a1 = $a1; $this->a2 = $a2; }
function F1(){echo $this->a1."-" .$this->a2;} protected function F2()
{echo $this->a1."*" .$this->a2;} }
Câu 22. Đoạn mã nào đúng (không có lỗi)? a) $x = new A(3); b) $x = new A(1, 4); c) $x = new A();
d) Tất cả a, b, c đều đúng
Câu 23. Kết quả đoạn script sau: $x= new A(4, 6);$x->F1(); a) 4-6 b) 1-2 c) -1 d) Tất cả sai
Câu 24. Sau lệnh: $x = new A(); Lệnh để truy xuất hằng số SIZE là a) $x::SIZE; b) A::SIZE; c) Cả 2 a, b đúng d) Cả 2 a, b sai
Câu 25. Để truy xuất biến static $N sau lệnh: $x = new A(2, 5); a) A::$N; b) $x->N; c)A->N; d) Tất cả đều đúng
Câu 26. SQLInjecttion là?
a) Một ngôn ngữ của database
b) Một lỗi hệ thống webserver apache
c) Một lỗi xử lý dữ liệu của javascript
d) Một kỹ thuật lợi dụng những lỗ hổng về câu truy vấn của các ứng dụng
Câu 27. Php có thể kết nối tới các hệ quản trị CSDL? a) Mysq và MariaDB b) Sqlserver c) Oracle d) Tất cả đều đúng
Câu 28. Port mặc định của CSDL Mysql là: a) 3307 b) 80 c) 3306 d)Tất cả đều sai
Câu 29. File cấu hình của hệ quản trị CSDL mysql trên hệ điều hành windows là: a) Php.ini b) My.ini c) httpd.conf d) Tất cả đều đúng
Câu 30. Đâu là 1 hệ quản trị CSDL? a) mariaDb b) phpMyAdmin c) Wampserver d) Tất cả đều đúng Đề 1 – trang 4
Câu 31. Trong mysql, câu truy vấn lấy ra 10 dòng dữ liệu có price nhỏ nhất đầu tiên trong table book là
a) select * from book order by price limit 0,10;
b) select * from book order by price limit 10; c) Cả 2 đều đúng d) Cả 2 đều sai
Câu 32. Để kết nối tới Database, php 7 có thể sử dụng các thư viện a) PDO b) Mysqli c) Mysql d) Cả 2 a, b đúng
Câu 33. Đâu là câu lệnh kết nối tới database MariaDb (port 3306) tại máy localhost sử dụng
username root và password rỗng
a) $conn= new PDO("mysql:host=localhost;dbname=bookstore", "root", "");
b) $conn= new PDO("mariaDb:host=localhost;dbname=bookstore", "root", "");
c) $conn= new PDO("mariaDb:host=localhost:3306;dbname=bookstore", "root", ""); d) Tất cả đều đúng
Câu 34. Để tạo liên kết khoá ngoại 2 table trong mysql, kiểu lưu trữ của 2 table là a) MyISAM b) InnoDB c) Memory d) Merge
Câu 35. $connect là biến kết nối tới database bookstore sử dụng PDO. Để lấy các book có
cột bookname chứa giá trị trong biến $t là:
a) $stm = $connect->query("select * from book where tenloai like '%$t%' ";
b) $stm = $connect->prepare("select * from book where book_name like ? "); $stm->execute(["%$t%"]); c) a và b sai d) a và b đúng
Câu 36. $connect là biến kết nối tới database bookstore sử dụng PDO. Để thêm 1 dòng vào
table category (cat_id (nvarchar(5), cat_name (nvarchar(50)).
$a =['1', 'Loai 1']; $stmt = $connect ->prepare($sql); $stmt->execute($a);
Nội dung biến $sql sẽ là:
a) "insert into category values(?, ?)";
b) "insert into category values(a[0], $a[1])";
c) "insert into category values($a)"; d) Tất cả đều sai
Câu 37. Để lấy số dòng trả về sau khi thực thi lệnh:
$stmt=$connect ->query('select * from book '); a) $n = $stmt->rowCount(); b) $n = $stmt->rowCount; c) $n = $stmt->Count; d) $n = $stmt->Count();
Câu 38. $stmt=$connect->query('select * from book');
$data = $stmt->fetch(PDO::FETCH_ASSOC);
a) $data là mảng chứa tất cả các cuốn sách
b) $data là biến mảng chứa các object. Mỗi object chứa một cuốn sách
c) $data là mảng chứa thông tin một cuốn sách
d) $data là object chứa thông tin một cuốn sách
Câu 39. Khác nhau giữa PDO và mysqli khi làm việc với CSDL là
a) PDO có thể làm việc với nhiều loại csdl, mysqli chỉ làm việc với mysql
b) Mysqli có thể làm việc với nhiều loại csdl, PDO chỉ làm việc với mysql
c) Cả 2 loại chỉ thao tác được với Mysql Đề 1 – trang 5
d) Cả 2 loại có thể thao tác được nhiều loại csdl khác nhau
Câu 40. $stmt=$connect->query('select * from book');
$data = $stmt->fetch(PDO::FETCH_OBJ);
Câu lệnh in ra giá trị tên sách (book_name) là:
a) echo $data[0]->book_name; b) echo $data['book_name'];
c) echo $data[0]['book_name']; d) echo $data->book_name;
Phần tự luận. (2 điểm)
Cho mảng $cart mô phỏng dữ liệu giỏ hàng. Các giá trị id1, id2,..: Mã các sản phẩm.
Khuyenmai: Phần trăm khuyến mãi của sản phẩm (có giá trị 0-100). $cart=[
'id1'=>['tenSP'=>'Iphone 15', 'soluong'=>1, 'dongia'=>28000000, 'khuyenmai'=>10],
'id2'=>['tenSP'=>'Samsung', 'soluong'=>2, 'dongia'=>30990000, 'khuyenmai'=>30],
'id3'=>['tenSP'=>'Man Hinh ', 'soluong'=>2, 'dongia'=>2100000, 'khuyenmai'=>0],
'id4'=>['tenSP'=>'Mouse',
'soluong'=>3, 'dongia'=>1900000, 'khuyenmai'=>15], ];
Hãy viết code duyệt qua mảng để hiển thị mảng này ra bảng html như hình sau
......................................HẾT.................................... Đề 1 – trang 6