Bài tập thực hành với mảng (array) trong PHP

Mảng là một cấu trúc tàng trữ tài liệu được sử dụng khá phổ cập ở hầu hết những ngôn từ lập trình, đây là một kiểu tài liệu được cho phép người dùng tàng trữ nhiều thông tin không số lượng giới hạn về số thành phần 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 thực trạng hao tốn tài nguyên vì sẽ mất thêm thời hạn cho những thao tác duyệt mảng. Với PHP thì 100 % thao tác giải quyết và xử lý list đều sử dụng mảng phối hợp bởi nó rất rõ ràng, không gây nhầm lẫn như mảng ghi lại chỉ mục. Ví dụ khi bạn lấy tài 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 .

test php

banquyen png

Bài viết này được đăng tại

freetuts.net

, không được copy dưới mọi hình thức.

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

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

Cho một mảng gồm những thành phần như sau :
Bài viết này được đăng tại [ không lấy phí tuts. net ]

$authors = array(
    array(
        'name' => 'Nguyễn Văn Cường',
        'blog' => 'freetuts.net',
        'position' => 'admin'
    ),
    array(
        'name' => 'Trương Phúc Hoài Minh',
        'blog' => 'freetuts.net',
        'position' => 'author'
    ),
    array(
        'name' => 'Hoàng Văn Tuyền',
        'blog' => 'freetuts.net',
        'position' => 'author'
    ),
    array(
        'name' => 'Nguyễn Tình',
        'blog' => 'freetuts.net',
        '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 '
    '; foreach ($authors as $key => $author) { echo '
  • '; echo 'Name: '. $author['name']. '
    '; echo 'Blog: '. $author['blog']. '
    '; echo 'Position: '. $author['position']. '
    '; echo '
  • '; } echo '
';

Kết quả:

lap mang trong php png

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

echo '
    '; foreach ($authors as $key => $author) { echo '
  • '; echo 'Phần tử thứ: '. $key; echo '
    ';
                var_dump($author);
            echo '

    ';
    echo '

  • ';
    }
    echo '

';

Kết quả :

lap mang trong php 1 png

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 thuầ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 thành phần 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 thành phần vào mảng trong PHP rất đơn thuầ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' => 'freetuts.net',
    '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à tất cả chúng ta hay sử dụng để thao tác với mảng, và ngoài những cách này thì bạn hoàn toàn có thể sử dụng những hàm giải quyết và xử lý mảng trong PHP có sẵn để sửa chữa thay thế nhé. Bài này tương đối dễ và hoàn toàn có thể một số ít bạn nói là không thiết yếu, tuy nhiên mình vẫn đưa ra bài tập này với mục tiêu giúp những bạn mới tìm hiểu và khám phá lập trình hoàn toàn có thể hiểu rõ hơn về cách truy xuất những thành phần trong mảng. Chúc những bạn học tốt !