Đoạn code sau đây cho ra kết quả gì?
$x = "101.5degrees";
(double)$x;
(int)$x;
echo (string)$x;
?>
Trả lời:
Đáp án đúng: D
Đoạn code PHP này thực hiện các bước sau:
- Gán chuỗi
"101.5degrees"
cho biến$x
. - Ép kiểu
$x
sang số thực (double). Tuy nhiên, việc ép kiểu này không gán lại giá trị đã ép cho$x
, nên$x
vẫn giữ giá trị ban đầu là chuỗi. - Ép kiểu
$x
sang số nguyên (int). Tương tự như trên, việc ép kiểu này không gán lại giá trị cho$x
. Khi một chuỗi được ép sang số nguyên, PHP sẽ cố gắng chuyển đổi phần đầu của chuỗi thành số. Trong trường hợp này, phần số của chuỗi là101
, do đó nếu gán lại thì $x = 101 echo (string)$x;
: In giá trị của$x
ra màn hình. Vì$x
vẫn là chuỗi"101.5degrees"
, nên kết quả in ra sẽ là chính chuỗi đó.
Do đó, đáp án đúng là 101.5degrees
.