Ép kiểu dữ liệu trên PHP

7 564

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
Ví dụ :

$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 string
Ép kiểu dữ liệu trong PHP
Ép kiểu dữ liệu trong PHP

a. 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

b.É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)

c. 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ực
settype($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ớ bị chiếm dụng của biến đó

Nguồn : canthoit

7 Comments
  1. ppu-prof_ei says

    Наша команда профессиональных мастеров приготовлена выдвинуть вам передовые подходы, которые не только обеспечат прочную защиту от холодных воздействий, но и подарят вашему жилью трендовый вид.
    Мы занимаемся с самыми современными средствами, обеспечивая продолжительный термин работы и превосходные результаты. Изолирование фронтонов – это не только экономия энергии на отапливании, но и забота о окружающей природе. Спасательные технологии, какие мы внедряем, способствуют не только зданию, но и сохранению природы.
    Самое основополагающее: Утепление фасада дома москва у нас открывается всего от 1250 рублей за м²! Это доступное решение, которое переделает ваш дом в истинный душевный угол с минимальными расходами.
    Наши работы – это не исключительно изолирование, это создание поля, в где любой аспект отражает ваш свой образ действия. Мы рассмотрим все все твои пожелания, чтобы переделать ваш дом еще еще более уютным и привлекательным.
    Подробнее на ppu-prof.ru
    Не откладывайте труды о своем ларце на потом! Обращайтесь к квалифицированным работникам, и мы сделаем ваш домик не только согретым, но и изысканнее. Заинтересовались? Подробнее о наших предложениях вы можете узнать на портале. Добро пожаловать в универсум комфорта и стандартов.

  2. ecommerce says

    Wow, amazing weblog structure! How long have you ever been blogging for?
    you make blogging look easy. The full look of your site is excellent, let alone the content!
    You can see similar: dobry sklep and
    here e-commerce

  3. sklep internetowy says

    Wow, wonderful blog structure! How long have you been running a blog for?
    you made running a blog glance easy. The overall glance of your web
    site is excellent, let alone the content material! You can see
    similar: najlepszy sklep and here e-commerce

  4. sklep online says

    Having read this I believed it was rather enlightening.
    I appreciate you spending some time and effort to put this content together.
    I once again find myself personally spending way too much time both reading and
    leaving comments. But so what, it was still worthwhile!
    I saw similar here: sklep online and also here: sklep online

  5. sklep says

    I like it when folks come together and share thoughts. Great blog, stick
    with it! I saw similar here: ecommerce and also here:
    sklep

  6. e-commerce says

    I’m amazed, I must say. Rarely do I come across a blog that’s
    equally educative and entertaining, and without a doubt, you
    have hit the nail on the head. The problem is an issue that not enough men and women are speaking intelligently about.
    Now i’m very happy that I came across this in my hunt for something concerning this.
    I saw similar here: Dobry sklep

  7. sklep internetowy says

    Somebody necessarily assist to make critically articles I would state.
    That is the very first time I frequented your web page and so far?
    I amazed with the analysis you made to make this particular submit amazing.
    Excellent activity! I saw similar here: Sklep internetowy

Leave A Reply

Your email address will not be published.