STDIO
Tìm kiếm gần đây
    Nội dung
    0
    0
    Chia sẻ
    Nội dung
    0
    0
    Chia sẻ

    Toán Tử trong PHP

    Tìm hiểu về các toán tử trong ngôn ngữ lập trình PHP.
    03/10/2016 08/09/2020 6 phút đọc
    Toán Tử trong PHP

    Các loại toán tử trong PHP

    • Toán tử số học.
    • Toán tử gán.
    • Toán tử trên bit.
    • Toán tử so sánh.
    • Toán tử tăng, giảm.
    • Toán tử logic.
    • Toán tử trên chuỗi.
    • Toán tử trên mảng.

    Toán tử số học

    Toán tử số học gồm có những  toán tử cơ bản như sau: +, -, *, /, %.

    Ví dụ

    Chú thích

    -$a

    Lấy đối của $a

    $a + $b

    Tổng của $a$b

    $a - $b

    Hiệu của $a$b

    $a * $b

    Tích của $a$b

    $a / $b

    Phần nguyên của phép $a chia $b

    $a % $b

    Dư của phép $a chia $b

    Có vài điểm chú ý của các toán tử số học như sau:

    • Phép chia, khi dùng toán tử / thì kết quả là một số kiểu float, trừ khi cả 2 toán hạng đều là kiểu int hoặc giá trị của 2 số hạng bằng nhau thì sẽ cho kết quả là kiểu int.
    • Phép lấy dư % là các toán hạng phải được chuyển thành kiểu int trước khi thực hiện phép lấy dư, một điểm lưu ý nữa là dấu của kết quả phép lấy dư sẽ phụ thuộc vào dấu của số bị chia.

    Ví dụ:

    $x = -10;
    $y = 6; 
    echo $x % $y; // = -4
    

    Toán tử gán

    Toán tử so sánh có thể so sánh các số, kí tự, chuỗi với nhau và trả về TRUE hoặc FALSE.

    Toán tử

    Ví dụ

    =

    $a = $b

    +=

    $a += $b

    -=

    $a -= $b

    *=

    $a *= $b

    /=

    $a /= $b

    %=

    $a %= $b

    Ví dụ:

    $x = 10; 
    $x *= 6;
    echo $x ; // 60

    Trong PHP cũng có phép gán bằng tham chiếu với cú pháp $var = &$othervar;. Khi sử dụng phép gán tham chiếu thì cả hai biến đều trỏ đến chung một dữ liệu và thao tác cùng trên dữ liệu đó.

    $a = 3;
    $b = &$a; // $b tham chiếu đến $a khi đó $b = 3
    $a = 4; // thay đổi $a = 4 vì thế nên $b = 4

    Toán tử trên bit

     Toán tử trên bit, cho phép thao tác trên từng bit của một số nguyên.

    Ví dụ

    Chú thích

    $a & $b

    And

    $a | $b

    Or

    $a ^ $b

    Xor

    ~ $a

    Not

    $a << x

    Shift left

    $a >> x

    Shift right

    Toán tử so sánh

    Toán tử so sánh có thể so sánh các số, kí tự, chuỗi với nhau và trả về TRUE hoặc FALSE.

    Ví dụ

    Chú thích

    $a == $b

    Trả về TRUE nếu $a bằng $b

    $a != $b

    Trả về TRUE nếu $a khác $b

    $a < $b

    Trả về TRUE nếu $a nhỏ hơn $b

    $a > $b

    Trả về TRUE nếu $a lớn hơn $b

    $a >= $b

    Trả về TRUE nếu $a lớn hơn hoặc bằng $b

    $a <= $b

    Trả về TRUE nếu $a nhỏ hơn hoặc bằng $b

    $a === $b

    Trả về TRUE nếu $a bằng $b và cả hai cùng kiểu dữ liệu

    $a !== $b

    Trả về TRUE nếu $a không bằng $b hoặc khác kiểu dữ liệu

    $a <> $b

    Trả về TRUE nếu $a khác $b

    $a ? $b : $c

    Trả về $b nếu $a TRUE và trả về $c nếu $a FALSE

    Ví dụ:

    $a = 50; 
    $b = "50";
    var_dump($x === $y); // false, bởi vì hai toán hạng không cùng kiểu dữ liệu
    echo ((true ? 'true' : false) ? 't' : 'f'); kết quả là: t

    Toán tử tăng, giảm

    Trong PHP, toán tử tăng/giảm chỉ được sử dụng đối với số và chuỗi.

    Ví dụ

    Chú thích

    ++$a

    Cộng $a thêm 1 rồi mới trả về $a

    $a++

    Trả về $a rồi sau đó cộng thêm 1

    --$a

    Lấy $a trừ 1 rồi mới trả về $a

    $a--

    Trả về $a rồi sau đó trừ 1

    Xét ví dụ sau đây, trong PHP.

    $a = ‘Z’;
    $a ++; 

    Sẽ trả về kết quả là $a = ‘AA’.

    Còn đối với C/C++,

    a = ‘Z’;

    a ++;

    Kết quả là 91, bởi vì trong bảng mã ASCII kí tự Z có mã là 90a++ nên a = 91.

    Để hiểu rõ hơn theo dõi ví dụ dưới đây.

    <?php
    echo '== Characters ==';
    $s = 'W';
    for ($n=0; $n<5; $n++) {
        echo ++$s . ", ";
    }
    echo '== Digits ==';
    $d = 'A8';
    for ($n=0; $n<5; $n++) {
        echo ++$d . ", ";
    }
    
    echo '== Characters and Digits =='
    $t = 'A08';
    for ($n=0; $n<5; $n++) {
        echo ++$t . ", " ;
    }
    ?>

    Kết quả:

    == Characters ==
    X, Y, Z, AA, AB
    == Digits ==
    A9, B0, B1, B2, B3
    == Characters and Digits ==
    A09, A10, A11, A12, A13

    Toán tử logic

    Toán tử

    Ví dụ

    Chú thích

    and

    $a and $b

    Trả về TRUE nếu cả hai đều đúng

    &&

    $a && $b

    Trả về TRUE nếu cả hai đều đúng

    or

    $a or $b

    Trả về TRUE nếu 1 trong hai đúng hoặc cả 2 đều đúng

    ||

    $a || $b

    Trả về TRUE nếu 1 trong hai đúng hoặc cả 2 đều đúng

    !

    !$a

    Trả về TRUE nếu $a là sai

    xor

    $a xor $b

    Trả về đúng khi 1 trong hai đúng

    Như thấy ở trên thì thấy toán tử or giống với || và toán tử and giống với &&, nhưng có điểm đặc biệt là độ ưu tiên của chúng khác nhau, && có độ ưu tiên cao hơn so với and, || có độ ưu tiên cao hơn so với or.

    Toán tử trên chuỗi

    Liên quan đến chuỗi kí tự thì có hai toán tử sau đây và cả hai toán tử đều là dùng để nối chuỗi lại.

    Toán tử

    Ví dụ

    Chú thích

    .

    $str1 . $str2

    Nối hai chuỗi $str1$str2

    .=

    $str1 .= $str2

    Nối chuỗi $str2 vào chuỗi $str1

    Ví dụ:

    $b = "Hello ";
    $b .= "Stdio!";
    echo $b; // “Hello STDIO Training” , nó giống như $b = $b . “STDIO Training!”; 

    Toán tử trên mảng

    Toán tử

    Ví dụ

    Chú thích

    +

    $a + $b

    Hợp $a$b

    !=

    $a != $b

    Trả về TRUE nếu $a không bằng $b

    <> 

    $a <> $b

    Trả về TRUE nếu $a không bằng $b

    ==

    $a == $b

    Trả về TRUE nếu $a$b có cặp giá trị bằng nhau

    ===

    $a === $b

    Trả về TRUE nếu $a$b có cặp giá trị bằng nhau và cùng kiểu dữ liệu.

    !==

    $a !== $b

    Trả về TRUE nếu $a$b có cặp giá trị không bằng nhau hoặc không cùng kiểu dữ liệu.

    Ví dụ:

    <?php
    $a = array("a" => "La Kiến Vinh", "b" => "Vũ Quang Huy");
    $b = array("Ryan", "Rye", "Dat");
    
    $c = $a + $b; 
    echo "Union \$a and \$b: \n";
    var_dump($c);
    
    $c = $b + $a; 
    echo "Union of \$b and \$a: \n";
    var_dump($c);
    
    $a += $b; // $a = $a + $b
    echo "Union \$a += \$b: \n";
    var_dump($a);
    echo “ === Operator === \n” .
    var_dump($a === $b);
    ?>
    

    Kết quả:

    Union $a and $b:
    array(3) {
      ["a"]=>
      string(5) "La Kiến Vinh"
      ["b"]=>
      string(5) "Vũ Quang Huy"
      ["c"]=>
      string(3) "Dat"
    }
    Union $b and $a:
    array(3) {
      ["a"]=>
      string(4) "Ryan"
      ["b"]=>
      string(3) "Rye"
      ["c"]=>
      string(3) "Dat"
    }
    Union $a += $b:
    array(3) {
      'a' =>
      string(5) "La Kiến Vinh"
      'b' =>
      string(5) "Vũ Quang Huy"
      'c' =>
      string(3) "Dat"
    }
     === Operator === 
    Bool(false)
    

    Tham khảo

    http://php.net/manual/en/language.operators.php.

    0 Bình luận
    Khi bạn nhấn vào sản phẩm do chúng tôi đề xuất và mua hàng, chúng tôi sẽ nhận được hoa hồng. Điều này hỗ trợ chúng tôi có thêm kinh phí tạo nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO

    Trang chính

    Công ty TNHH STDIO

    • 30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
      +84 28.36205514 - +84 942.111912
      developer@stdio.vn
    • 383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
      Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012
    ©STDIO, 2013 - 2021