Bạn đang làm trắc nghiệm theo bộ đề PHP basic.
Hiện có 19 câu hỏi trong bộ đề này.
1
Cách nối chuỗi trong SQL?

Dấu chấm .
Dấu cộng +
Dấu nhân *
concat
Đáp án: D - concat nối chuỗi trong SQL, dấu + nối chuỗi trong JS còn PHP nối bằng dấu chấm
2
Hàm nào sau đây sẽ khởi tạo một phiên làm việc (session)?

session(start);
session();
session_start();
login_sesion();
Đáp án: C - session_start();
3
Hàm mã hóa nào sau đây trả về giá trị hash dài nhất?

md5
sha1
crc32
Tất cả như nhau.
Đáp án: B - sha1 cho tới 40 kí tự.
4
Hàm nào không được dùng để debugging?

var_dump()
fprintf()
print_r()
var_export()
Đáp án: B - fprintf()
5
Thẻ nào sau đây không đúng để bắt đầu và kết thúc code PHP?

<% %>
<? ?>
<?= ?>
<! !>
Đáp án: D - <! !>, tuy nhiên hầu như các thẻ trong đáp án a, b,c đều ít dùng so với <? php ?>
6
Biến (variable) nào sau đây không đúng trong PHP?

$_10
${“MyVar”}
&$something
$10_somethings
Đáp án: D - $10_somethings: Biến trong PHP không thể bắt đầu bằng số.
7
Kết quả của code sau?
<?php   
    $a=5;
    $b=12;
    $c=10;
    $d=7;
    $e=($a*$b)+$c*$d/$a;
    print($e);
?>

74
154
26
130
Đáp án: A - nhân chia trước cộng trừ sau nên code trên tương tự (5x12) + 10x7/5
8
Kết quả của code sau?
<?php
    $b = false;
    if($b = true)
      print("true");
    else
      print("false");
?>

false
true
lỗi
true false
Đáp án: B - về mặt luận lí boolean biến $b vẫn true, chứ không phải mang giá trị false.
9
Kết quả của code sau?
$x = 1;
  ++$x;
  $x*= $x;
  echo $x; //4
  echo $x--; //

4
5
1
3
Đáp án: A - x sẽ được xuất trước khi loop.
10
Kết quả code sau?
<?php
 var_dump( (bool) 5.8 );
?>
 

Boolean false
1
Boolean true
'0'
Đáp án: C - vì số dương nên boolean true. chú ý từ khóa boolean tương đương bool
11
Kết quả code sau?
<?php
function modifyArray (&$array) 
{
    foreach ($array as &$value)
    {
         $value = $value + 2; 
    } 
    $value = $value + 3; 
 } 
$array = array (1, 2, 3); 
modifyArray($array); 
print_r($array);
?>

Array ( [0] => 3 [1] => 4 [2] => 8 )
Array ( [0] => 5 [1] => 7 [2] => 9 )
Array ( [0] => 2 [1] => 4 [2] => 6 )
Array ( [0] => 1 [1] => 2 [2] => 3 )
Đáp án: A - chú ý là sau khi foreach chỉ có biến $value cuối cùng được tăng thêm 3.
12
Khi code PHP chạy thì biến môi trường toàn cục (super-global) nào chứa các tham số?

$_SERVER
$_EVN
$GLOBALS
$_POST
Đáp án: A - $_SERVER
13
Kết quả code sau?
 
function fibonacci ($x1, $x2){
return $x1 + $x2;
}
 
$x1 = 0;
$x2 = 1;
 
for ($i = 0; $i < 10; $i++){
 echo fibonacci ($x1, $x2).',';
}
 

1, 2, 3, 4, 5, 6, 7, 8, 9,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
1,1,1,1,1,1,1,1,1,1,
Đáp án: D - 1,1,1,1,1,1,1,1,1,1, - Nó loop 9 vòng và chỉ có 1 + 0 :-)
14
Kết quả code sau?
$a = array (1, 2, 3);
foreach ($a as $x){
  $x*= 2; // cái này tương đương $x = $x*2; noted là *= phải viết liền
}
 echo $a[0] * $a[1] * $a[2];

4
5
6
7
Đáp án: C - cái foreach chả liên quan gì, vãi.
15
Kết quả của code sau?
<?php 
    $a = array (1, 2, 3);
    $b = array (1 => 2, 2 => 3, 0 => 1); 
    $c = array ('a' => 1, 'b' => 2, 'c' => 3);
    var_dump ($a == $b); 
    var_dump ($a === $b); 
    var_dump ($a == $c); 
?>
 

false true true
true true false
true false true
true false false
Đáp án: D - chú ý var_dump ($a == $c); // False, so sánh == thuần về giá trị, so sánh === gồm cả giá trị và loại.
16
Toán tử nào sau đây không phải dạng nhị phân binary 0/1?

AND
NOT
XOR
OR
Đáp án: B - NOT. Chú ý XOR tức toán tử binary một trong hai cái phải đúng, nhưng hai cái không được cùng đúng.
17
Function sau làm gì khi pass 2 biến số (integer)?
<?php
function magic($p, $q)
{  
  return ($q == 0)?$p:magic($q, $p % $q);
}
?>

Đổi giá trị của $p và $q
Xác định xem chúng là số lẻ hay chẵn
Xác định số chia chung lớn nhất
loop mãi mãi
Đáp án: C - Xác định số chia chung lớn nhất. This is ternary if condition is true then calls magic() function passing $q as first argument and mod of $p and $q as second argument, this continues till $q == 0 and returns value of $p. It determines the greatest common divisor between $p and $q.
18
Kết quả code sau ?
<?php 
      echo strtotime("january 1, 1901"); 
?>
 

14345
-1
12365
'0'
Đáp án: B - Hàm strtotime() không thể xác định thời gian trước January 1, 1970
19
Kết quả code sau?
<html>
<head>
<title>
    This is a test script.
</title>
</head>
<body>
<?php
    echo (int) ((0.1 + 0.7) * 10);
?>
</body>
</html>

7
10
lỗi
8
Đáp án: A - 7 - The expression ((0.1 + 0.7) * 10) should evaluate to 8. However, the output of the expression in the script evaluates to 7 because the PHP engine stores the value of the expression internally as 7.999999 instead of 7. When the fractional value is converted into an integer, the PHP engine simply truncates the fractional part. When the value is converted to int, PHP simply truncates away the fractional part, resulting in a rather significant error (12.5%, to be exact).

/19