PHP và những điều cơ bản (phần 1)

Trong bài tiếp theo của series về php, mình sẽ giới thiệu các kiến thức cơ bản một số kiến thức cơ bản trong php.

Đoạn mã PHP

Như trong bài trước của series này mình có đề cập thì PHP là một ngôn ngữ kịch bản, các `script PHP` có thể nhúng vào các file như `HTML`. Cần có một cách để cú pháp PHP hiểu được đó là một đoạn code PHP và thi hành nó.

Cách phổ biến nhất sẽ là sử dụng thẻ php như ví dụ sau:

<?php
    //code here
    echo "Hello Wold";
?>

trong ví dụ này, code php sẽ nằm giữa <?php?>.
Trong câu lệnh trong PHP được kết thúc bởi dấu ;. Và cũng trong ví dụ trên, câu lệnh echo "Hello Wold" được kết thúc bằng 1 dấu ;.

Ngoài ra, khi viết code PHP, có nhiều lúc bạn cần comment để phục vụ mục đích sau này, các dòng comment này không tác động đến code PHP. Có hai loại comment là:
Comment 1 dòng

<?php
    # This is a comment.
    // This is also a comment.

    echo "Hello Wold";
?>

Comment nhiều dòng

<?php
    /**
     * This is a multi-line comment for PHP
     * Author : Nghia
     * Subject: PHP
    */
    echo "Hello Wold";
?>

Biến và kiểu dữ liệu PHP

**Biến** là cách lưu trữ thông tin trong chương trình PHP. **Tất cả** các biến của PHP đều có tên bắt đầu bằng ký tự `$`. Ví dụ về biến: `$a, $name, $class`...
Về cách đặt tên biến thế nào cho đúng mình sẽ giới thiệu trong bài về tiêu chuẩn PRS-2 của PHP.

Kiểu dữ liệu trong PHP có:

  • String
  • Integer
  • Float
  • Boolean
  • Array
  • Object
  • NULL
  • Resource

1. String - chuỗi các ký tự.

<?php
    $x = "Hello world!";
?>

2. Integer - kiểu dữ liệu số nguyên nằm giữa [-2147483648, 2147483647].

<?php
    $x = 5985;
    var_dump($x);
?>

3. Float - kiểu dữ liệu số thực.

<?php
    $x = 10.365;
    var_dump($x);
?>

4. Boolean - kiểu dữ liệu có 2 giá trị TRUE/FALSE.

5. Array - kiểu dữ liệu lưu nhiều giá trị vào duy nhất một biến.

<?php
    $cars = array("Volvo", "BMW", "Toyota");
    var_dump($cars);
?>

6. Object - kiểu dữ liệu đối tượng, trong PHP nó là một tập hợp các thuộc tính cụ thể nào đó cho một đối tượng cụ thể.

<?php
class Car {
    public $color;
    public $model;

    public function __construct($color, $model) {
        $this->color = $color;
        $this->model = $model;
    }

    public function message() {
        return "My car is a " . $this->color . " " . $this->model . "!";
    }
}

$myCar = new Car("black", "Volvo");
echo $myCar -> message();
?>

Như trong ví dụ, đối tượng Car được định nghĩa bởi 2 thuộc tính là colormodel. Ở đây, biến $myCar có kiểu dữ liệu là Object.

7. NULL - kiểu null là kiểu dữ liệu đặc biệt trong php và cho biết biến chẳng có giá trị nào.

<?php
    $x = "Hello world!";
    $x = null;
    var_dump($x);
?>

8. Resource - kiểu dữ liệu đặc biệt, nó lưu trữ một tham chiếu đến các hàm và tài nguyên bên ngoài PHP. Một ví dụ phổ biến của việc sử dụng kiểu resource là khi kết nối cơ sở dữ liệu.


Toán tử trong PHP

**1. Toán tử số học** là các phép toán `+` `-` `*` `/` `%` `++` `--` giữa 2 số với nhau. ``` $c = $a + $b; // Cộng 2 số $a và $b $c = $a - $b; // Cộng 2 số $a và $b $c = $a * $b; // Cộng 2 số $a và $b $c = $b / $a; // Cộng 2 số $a và $b $c = $b % $a; // Cộng 2 số $a và $b $c = $a++; // Cộng $a lên 1 đơn vị $c = $b--; // Trừ $b đi 1 đơn vị

?>


**2. Toán tử so sánh** trong PHP gồm: `==` `!=` `>` `<` `>=` `<=`.

Các kết quả so sánh:
$a == $b => false // so sánh bằng
$a != $b => true // so sánh khác
$a > $b => false // so sánh lớn hơn
$a < $b => true // so sánh nhỏ hơn
$a >= $b => false // so sánh lớn hơn hoặc bằng
$a <= $b => true // so sánh nhỏ hơn hoặc bằng


**3. Toán tử logic** là các toán tử `and` hay `&&`, `or` hay `||` và `!`.

Các kết quả so sánh:
$a && $b => false // logic phép và
$a and $b => false // cũng là login phép và
$a || $b => true // logic phép hoặc
$a or $b => true // cũng là logic phép hoặc
!$b => true // Phép phủ định
?>


**4. Toán tử gán**<br>
Các toán tử gán bao gồm: `=` `+=` `-=` `*=` `/=` `%=`.


**5. Toán điều kiện**
này bao gồm cặp ký hiệu `?` và `:` để có loại toán tử này. Toán tử có dạng: `condition ? $a : $b` tức là nếu condition là true thì giá trị của biểu thức là $a nếu không là $b. Toán tử này tương đương với 1 cặp điều kiện if-else.

<br>
<h2 style="color: #B2D235;">Câu lệnh rẽ nhánh if và switch</h2>
PHP cung cấp ba loại cấu trúc lệnh dẽ nhánh mà bạn có thể sử dụng gồm: if-else, switch-case.

**1. IF-ELSE và ELSEIF**<br>

Cú pháp IF-ELSE

if (condition) {
khối lệnh ({ ... }) thi hành nếu condition (điều kiện) là true
} else {
khối lệnh ({ ... }) thi hành nếu condition (điều kiện) là false
}


Cú pháp ELSEIF
Lệnh elseif được dùng kết hợp với if - else cho trường hợp bạn muốn kiểm tra và thi hành nhiều điều kiện (hơn 2).

if (condition_1) {
Khối lệnh cho condition_1
} elseif (condition_2) {
Khối lệnh cho condition_2
...
} elseif (condition_n) {
Khối lệnh cho condition_n
...
} else {
Khối lệnh khi tất cả các điều kiện trên đều sai
}


**2. SWITCH-CASE**<br>
Cú pháp `elseif` ở trên hoàn toàn có thể thay thế bởi switch-case.

Cú pháp SWITCH-CASE:
```
switch (n) {
    case label1:
        code to be executed if n=label1;
        break;
    case label2:
        code to be executed if n=label2;
        break;
    case label3:
        code to be executed if n=label3;
        break;
    ...
    default:
        code to be executed if n is different from all labels;
}
```

<br>
<h2 style="color: #B2D235;">Tổng kết</h2>
Trong phần đầu tiên của mình đã giới thiệu về PHP và một số kiến thức cơ bản quanh nó. Trong phần 2 của series này mình sẽ tiếp tục bổ sung những phần nội dung cơ bản tiếp theo.
([Link tham khảo tại đây.](https://blog.haposoft.com/php-va-nhung-dieu-co-ban-phan-2/))