16:40
20/05/24
Like để cập nhật nhiều truyện hay trên Facebook nhé
HotBạn muốn tải các game hay? Hãy truy cập:Vietnam.Teamobi.Com.Vntrang web TeaMobi đại lí vietnam phân phối bởi ©2Xinh™
Bài này sẽ nêu ra một số đểm linh
động của php về mặt tính toán và
các giá trị.
Các bạn nên đọc bài này để tránh
thắc mắc về sau gặp phải bời
những điểm khá linh động đó!
VD: Ta có đoạn code
Mã nguồn:[Chọn]
<?
php
$a=2;
$b="2 chuỗi";
$c=$a+$b;
echo$c;
?>
Nếu bạn chạy thử và kết quả in ra
màn hình sẽ là 4. Sỡ dĩ có điều này
là do nếu một chuỗi bắt đầu bằng
một số nguyên hay số động PHP có
thể xử lý nó như kiểu số.
Còn một trường hợp như thế này:
Mã nguồn:[Chọn]
<?php
$a=2;
$b=2.345;
$c=$a+$b;
echo$c;
?>
$a là số nguyên, $b là số động và
$c=$a+$b sẽ là một số động 4.345
Với PHP làm việc với kiểu giá trị của
biến thôi không cũng là một nghệ
thuật.
Như chúng ta đã biết, tất cả các
biến PHP đều có kiểu dữ liệu riêng.
Kiểu dữ liệu của biến sẽ được tự
động xác định bởi giá trị đặt vào
biến
$a=1 // $a là kiểu integer
$a=1.2 // Bây giờ, nó là kiểu double
$a="1" // Và bây giờ nó là kiểu
stringa)
Chuyển kiểu chuỗi và lừa kiểu dữ
liệu
Nếu bạn làm các thao tác tính toán
số trên một chuỗi, PHP sẽ tính toán
chuỗi như là một số.
Điều này được biết đến với cái tên
gọi là "chuyển kiểu chuối (String
conversion), mặc dù giá trị chuỗi
của nó có thể không cần phải thay
đổi.
Trong đoạn ví dụ sau, biến $str
được xác định là một chuỗi:
$str="756300 không có";
Nếu chúng ta cố cộng thêm một giá
trị nguyên là 3 vào biến $str, biến
$str sẽ tự động tính với số nguyên
756300:
$x=4+$str;//$x =756304
Nhưng bản thân giá trị của biến
$str không thay đổi
echo ($str); // In ra màn hình chuỗi
"756300 không có"
Chuyển kiểu chuỗi phải tuân theo 2
nguyên tắc sau:
- Chỉ những chuỗi bắt đầ là một xâu
các chữ số. Nếu chuỗi bắt đầu bằng
một giá trị số hợp lệ, chuỗi này sẽ
được xác định như giá trị của nó,
trong trường hợp khác, nó sẽ trả về
0.
VD: chuỗi"35 tuổi" sẽ được ước
lượng là 35, nhưng chuỗi "tuổi 35"
sẽ chỉ xác định giá trị 0.
- Một chuỗi sẽ chỉ được xác định
như là một giá trị kiểu double nếu
giá trị kiểu double được miêu tả
bao gồm toàn bộ chuỗi. Chuỗi "3.4",
"-4.2" sẽ được ước lượng như giá trị
thực 3.4 và -4.2.Nếu một ký tự
không phải là ký tự kiểu số thực
được đưa vào chuỗi, giá trị của
chuỗi đó sẽ được ước lượng như là
một số nguyên. Chuỗi "3.4 dollar"
sẽ thành số nguyên 3.
Trong việc cộng với chuỗi chuyển
kiểu, PHP sẽ thực hiện "lừa kiểu"
giữa 2 kiểu số. Nếu bạn thực hiện
một phép toán số học giữa kiểu
thực và kiểu nguyên, giá trị sẽ là số
thực
$a=1 //$ a là một số nguyên
$b= 1.0 //$b là số thực
$c=$a+$b //$c là kiểu số thực ,
= 2.0$d = $c+"6th" //$d là kiểu số
thực= 8.0
Ép kiểu dữ liệu
Ép kiểu dữ liệu cho phép bạn thay
đổi kiểu dữ liệu của biến
$a=11.2// $a là kiểu thực
$a=(int)$a// Bây giờ, $ a là kiểu
nguyên, giá trị = 11$a= (double)$a//
Bây giờ $a lại trở về kiểu thực
= 11.0$b= (string)$a// $b là giá trị
kiểu chuỗi ="11"Ngoài ra, chúng ta
còn được phép ép kiểu (array) và
(object)(integer) tương đương với
(int); (fload) và (real) tương đương
với (double)
Một số hàm tiện ích khác
PHP có một số hàm hỗ trợ làm việc
với các biến- Hàm gettype
($ten_bien) xác định kiểu của biến.
Nó sẽ trả về một trong các giá trị:
"integer","double", "string",
"array","object", "class", "unknown
type"
(Chúng ta sẽ tìm hiểu kỹ hơn vể
mảng (array) và kiểu đối tượng
(object) ở các bài sau.
Ví dụ:
echo(gettype($name));
- Hàm settype
($ten_bien,"kieu_du_lieu") sẽ đặt
kiểu dữ liệu cho biến $ten_bien.
Kiểu dữ liệu được viết dưới dạng
một chuỗi, và có thể có một trong
các kiểu sau:
"integer", "double", "string","array",
"object".
Nếu kiểu dữ liệu không được đặt,
giá trị false sẽ được trả về, còn nếu
thành công, nó sẽ trả về giá trị true.
VD:
$a=7.5; //$a là kiểu thựcsettype
($a,"integer");
// bây giờ nó là một số nguyên có
giá trị 7- Hàm isset($ten_bien)
được sử dụng để xác định xem biến
$ten_bien đã đặt một giá trị nào đó
hay chưa. Nếu biến đó đã có giá
trị,hàm trả về true.Trong truờng
hợp ngược lại, hàm trả về giá trị
false;
- Hàm unset($ten_bien) được sử
dụng để huỷ bỏ biến $ten_bien,
giải phóng bộ nhớ chiếm dụng của
biến đó.