post-image

Cách tốt nhất để khởi tạo mảng rỗng trong PHP

Mảng

Để tạo mảng trong PHP, ta cần dùng hàm array(). Có 3 loại mảng được hỗ trợ bởi PHP:

  • Mảng thường: Mảng có vị trí được kí hiệu bằng số.
  • Mảng associative: Mảng có vị trí được đặt tên.
  • Mảng nhiều chiều: Có một hoặc nhiều mảng con theo các chiều khác nhau (ví dụ như ma trận 2 chiều).

Chú ý: Tại sao khởi tạo mảng rỗng rồi mới bắt đầu thêm các giá trị vào trong mảng đấy lại là một thói quen tốt? Bởi khi làm như vậy, nó có thể giúp ta tránh được nhiều lỗi khác nhau bởi vì mảng bị lỗi. Ngoài ra còn tránh được việc dữ liệu bị lỗi, tiết kiệm thời gian để sửa lỗi và hơn nữa, phần lớn trường hợp khi code ta sẽ không thêm bất kì giá trị nào vào mảng khi khởi tạo.

Cú pháp để tạo mảng rỗng:

$emptyArray = []; 
$emptyArray = array();
$emptyArray = (array) null;

Khi cần thêm một giá trị vào mảng, ta có thể dùng $emptyArray[] = “first”. Lúc đó, mảng emptyArray sẽ gồm “first”, và câu lệnh này sẽ gửi giá trị “first” tới mảng mà đã được khai báo rỗng từ đầu.

Nói cách khác, việc khởi tạo mảng mới sẽ nhanh hơn nếu sử dụng cú pháp var first[] thay vì việc dùng var first = new Array(). Bởi vì hàm Array() là một hàm khởi tạo của chính nó, còn [] chỉ đơn giản là cấu trúc “ngữ pháp” của mảng. Hai cách này được thực hiện và xử lí theo 2 hướng khác hẳn nhau. Cả 2 đều được tối ưu và không bị suy biến bởi bất kì lời gọi hàm nào khác.

Ví dụ cơ bản về mảng rỗng:

<?php
    $emptyArray = (array) null;
  
    var_dump($emptyArray);
?>

Output:

array(0) { }
Code language: CSS (css)

Ở phiên bản PHP 5.4, bắt đầu hỗ trợ [] như là một cách thay thế, bởi vì nó đa nghĩa hơn (giống với nhiều ngôn ngữ lập trình khác) và phần lớn người lập trình PHP đều dùng $array = [] bởi cách này dễ hơn khi cần chuyển qua chuyển lại giữa JavaScript và PHP.

<?php
  
/* Cách tạo mảng rỗng thứ nhất */
$firstempty = [];
echo "Da tao mang rong thu nhat \n";
      
/* Cách tạo mảng rỗng thứ hai. */
$second = array();
echo "Da tao mang rong thu hai \n";
      
/* Cách tạo mảng thứ nhất. */
$first = array(1, 2);
          
foreach ($first as $value) 
{
    echo "Gia tri la $value \n";
}
          
/* Cách tạo mảng thứ hai. */
$first[0] = "mot";
$first[1] = "hai";
          
foreach ($first as $value) 
{
    echo "Gia tri la $value \n";
}

?>

Output:

Da tao mang rong thu nhat Da tao mang rong thu hai Gia tri la 1 Gia tri la 2 Gia tri la mot Gia tri la hai

Một cách khác:

<?php
  
// Tạo mảng rỗng
$emptyArray = array();
  
// Thêm phần tử vào mảng
array_push($emptyArray, "mot", "hai", "ba");
  
// In mảng ra màn hình
print_r($emptyArray);

?>

Output:

Array ( [0] => mot [1] => hai [2] => ba )
Code language: PHP (php)

Leave a Reply

Your email address will not be published. Required fields are marked *