Ví dụ về mảng (array) trong PHP

Ví dụ về mảng (array) trong PHP là vấn đề được nhiều lập trình viên quan tâm, bởi những kiến thức trên trường lớp là không đủ, vì vậy bài Ví dụ về mảng (array) trong PHP sẽ chia sẻ tới bạn nhiều thông tin hữu ích

Mọi người vẫn hỏi tôi về việc học lập trình nói chung và PHP nói riêng có cần năng khiếu hay quá khó để tiếp cận hay không. Thì tôi có thể trả lời rằng, học lập trình cũng như việc bạn học tiếng Anh hay bất kỳ một ngôn ngữ khác, bởi lập trình...là ngôn ngữ của máy tính, để máy tính đọc và máy tính thực hiện theo yêu cầu của mình, bạn thích là học được.

Mảng là một cấu trúc lưu trữ dữ liệu được sử dụng khá phổ biến ở hầu hết các ngôn ngữ lập trình, đây là một kiểu dữ liệu cho phép người dùng lưu trữ nhiều thông tin không giới hạn về số phần tử nên sử dụng nó sẽ giúp mã nguồn trông sáng hơn. Tuy nhiên nếu như sử dụng mảng nhiều quá sẽ dẫn đến tình trạng hao tốn tài nguyên vì sẽ mất thêm thời gian cho các thao tác duyệt mảng. Với PHP thì 100% thao tác xử lý danh sách đều sử dụng mảng kết hợp bởi nó rất rõ ràng, không gây nhầm lẫn như mảng đánh dấu chỉ mục. Ví dụ khi bạn lấy dữ liệu từ trong CSDL thì tên field chính là tên key của mảng nên rất trực quan. 

Nhằm giúp các bạn có thêm nhiều bài tâp thực hành thì trong bài này mình sẽ đưa ra một số bài tập về duyệt mảng nhé, hy vọng sẽ giúp các bạn sử dụng rành rỏi kiểu dữ liệu này.

1. Duyệt qua từng phần tử của mảng

Cho một mảng gồm các phần tử như sau:

 

$authors = array(
    array(
        'name' => 'Nguyễn Văn Cường',
        'blog' => 'hoidapcode.com',
        'position' => 'admin'
    ),
    array(
        'name' => 'Trương Phúc Hoài Minh',
        'blog' => 'hoidapcode.com',
        'position' => 'author'
    ),
    array(
        'name' => 'Hoàng Văn Tuyền',
        'blog' => 'hoidapcode.com',
        'position' => 'author'
    ),
    array(
        'name' => 'Nguyễn Tình',
        'blog' => 'hoidapcode.com',
        'position' => 'author'
    )
);

 

Đây là một mảng chỉ mục trong đó mỗi phần tử lại chứa một mảng kết hợp. Bây giờ để duyệt qua từng phần tử thì chúng ta dùng vòng lặp để lặp qua mảng chỉ mục sau đó sử dụng tên key để truy xuất đến giá trị của các phần tử đó.

 

echo '<ul>';
foreach ($authors as $key => $author)
{
    echo '<li>';
    echo 'Name: ' . $author['name'] . '<br/>';
    echo 'Blog: ' . $author['blog'] . '<br/>';
    echo 'Position: ' . $author['position'] . '<br/>';
    echo '</li>';
}
echo '</ul>';

 

Nếu bạn thắc mắc không biết giá trị của $key và $author trong vòng lặp foreach thì hãy sử dụng lệnh var_dump để xem nhé.

 

echo '<ul>';
foreach ($authors as $key => $author)
{
    echo '<li>';
     
        echo 'Phần tử thứ: ' . $key;
        echo '<pre>';
            var_dump($author);
        echo '</pre>';
    echo '</li>';
}
echo '</ul>';


Như vậy $key chính là số chỉ mục và $author chính là giá trị của phần tử $key trong mảng $authors.

2. Truy xuất đến phần tử trong mảng

Nếu là mảng một chiều thì việc truy xuất rất đơn giản như sau:

 

  // Lấy giá trị của phần tư thứ $key trong mảng $array  
$value = $array[$key]; 

 

Tuy nhiên nếu truy xuất mảng nhiều chiều thì chúng ta phải tuân theo quy tắc sau: duyệt từ cấp cao nhất cho đến cấp thấp nhất và muốn lấy phần tử nào thì bổ sung một cặp [$phan_tu] là được. Ví dụ với mảng $authors trên tôi muốn lấy tên của tác giả Hoài Minh thì ta làm như sau:

Mảng cao nhất là mảng ngoài cùng ($author), lúc này giá trị của Hoài Minh sẽ nằm trong phần tử thứ 2.

 

  // Do key bắt đầu từ 0 nên phần tử thứ 2 sẽ có key =1   
$hoai_minh = $author[1]; 

 

Bây giờ muốn lấy tên thì chỉ việc trỏ đến key name.

 

  // Do key bắt đầu từ 0 nên phần tử thứ 2 sẽ có key =1   
$hoai_minh = $author[1];    // Lấy tên  $name = $hoai_minh['name']; 

 

Áp dụng quy tắc bổ sung cặp [$phan_tu] ta sẽ có cách ghi tắt như sau:

 

  // Lấy tên  
$name = $author[1]['name'];    
echo $name; // Trương Phúc Hoài Minh 

 

3. Thêm phần tử vào mảng

Thao tác thêm phần tử vào mảng trong PHP rất đơn giản, bạn chỉ việc sử dụng cú pháp như sau:

 

  // Thêm vào cuối mảng (cách 1)  
$array[] = 'value';    // Thêm vào cuối mảng (cách 2)  
array_push($array, 'value');    // Thêm vào một vị trí nào đó  // trong đó $key có thể là con số (mảng chỉ mục) hoặc chuỗi (mảng kết hợp)  
$array[$key] = 'value'; 

 

Ví dụ: Thêm một tác giả vào danh sách tác giả trên.

 

  // Thông tin tá giả mới  
$new_author = array(
      'name' => 'Đặng Văn Chương',
      'blog' => 'Hoidapcode.com',
      'position' => 'author'
  );    // Thêm vào danh sách  $authors[] = $new_author; 

 

4. Xóa phần tử ra khỏi mảng

Trong PHP để xóa một biến ra khỏi bộ nhớ thì ta sử dụng hàm unset, như vậy ta cũng phải sử dụng hàm này để xóa một phần tử ra khỏi mảng.

 

  // Xóa phần tử có key = 1 ra khỏi mảng $author  
unset($authors[1]); 

 

Xóa key name của tác giả Hoài Minh.

 

  unset($authors[1]['name']); 

 

5. Sửa giá trị các phần tử của mảng

Thao tác này có cú pháp như sau:

 

  $author['key_can_sua'] = 'value'; 

 

Ví dụ: Sửa tên của tác giả Nguyễn Văn Cường thành Đinh Văn Cương

 

  $authors[0]['name'] = 'Định Văn Cương'; 

 

6. Lời kết

Trên là 5 thao tác chính mà chúng ta hay sử dụng để thao tác với mảng, và ngoài các cách này thì bạn có thể sử dụng các hàm xử lý mảng trong PHP có sẵn để thay thế nhé. Bài này tương đối dễ và có thể một số bạn nói là không cần thiết, tuy nhiên mình vẫn đưa ra bài tập này với mục đích giúp những bạn mới tìm hiểu lập trình có thể hiểu rõ hơn về cách truy xuất các phần tử trong mảng. Chúc các bạn học tốt!


Hy vọng với bài viết về Ví dụ về mảng (array) trong PHP đã giải đáp giúp bạn phần nào về kiến thức lập trình PHP. Như tôi đã nói, ngôn ngữ lập trình không quan trọng bằng tư duy giải thuật, tư duy logic để giải quyết vấn đề.

Với những năm trước đây, lập trình viên là một cái nghề khó và kén chọn người học, đồng nghĩa với việc thu nhập hàng tháng của các lập trình viên luôn cao. Còn những năm gần đây, thì lập trình là môn học phổ thông, và ai cũng nên học một ngôn ngữ lập trình nào đó.

Nếu bạn còn bất kỳ câu hỏi nào trong việc học lập trình online, hãy gửi yêu cầu cho tôi qua email hoidapcode.com@gmail.com hoặc để lại comment bên dưới, tôi sẽ giải đáp trong vòng 24 giờ!

Blog hoidapcode.com là blog được tổng hợp tự động các bài học, thông tin về lập trình trên mạng internet. Nếu bạn có ý kiến hoặc đóng góp về bài viết này, hãy liên hệ với tôi!