Có 3 loại mảng khác nhau và mỗi giá trị mảng được truy cập bởi sử dụng một ID, mà được gọi là chỉ mục mảng.
Mảng số nguyên − Một mảng có chỉ mục ở dạng số. Giá trị được lưu trữ và truy cập tuyến tính.
Mảng liên hợp − Một mảng với chỉ mục ở dạng chuỗi kí tự. Mảng này lưu trữ các giá trị phần tử bằng sự kết hợp với các giá trị key thay vì trong một trật tự chỉ mục tuyến tính nghiêm ngặt như mảng số nguyên.
Mảng đa chiều − Một mảng chứa một hoặc nhiều mảng và các giá trị được truy cập bằng cách sử dụng nhiều chỉ mục.
Ghi chú − Bạn có thể tham khảo thêm về Mảng trong PHP và Hàm xử lý mảng trong PHP
Quảng cáo
Bài tập mảng trong PHP
Dưới đây là danh sách các bài tập mảng trong PHP. Bạn vào đường link để theo dõi lời giải minh họa cũng như kết quả của bài tập PHP tương ứng.
Khai báo và tạo một mảng đơn giản trong PHP
Viết PHP script để tạo mảng liên hợp hiển thị tên các quốc gia và thủ đô
Xóa phần tử mảng trong PHP
Viết PHP script để lấy phần tử đầu tiên trong mảng
Viết PHP script để chèn phần tử vào mảng
Xử lý JSON string trong PHP
Sắp xếp mảng liên hợp trong PHP
Viết PHP script để tìm giá trị trung bình của các phần tử mảng và hiển thị 5 phần tử nhỏ nhất và lớn nhất
Nhập hai mảng trong PHP
Chuyển đổi mảng thành chữ hoa - chữ thường
Tìm độ dài ngắn/dài nhất của các phần tử [dạng chuỗi] trong mảng
Tìm key lớn nhất trong mảng PHP
Tìm giá trị nhỏ nhất trong mảng PHP
Sắp xếp mảng trong PHP [theo thứ tự tự nhiên và không phân biệt kiểu chữ]
Sắp xếp mảng theo chiều đảo ngược [còn gọi là đảo mảng]
Lấy key của giá trị lớn nhất trong mảng liên hợp
Tìm giá trị trong một mảng liên hợp
Sắp xếp mảng liên hợp theo giá trị
Xóa bản sao giá trị trong mảng
Kiểm tra xem các giá trị trong mảng có phải là chuỗi không
So sánh mảng đa chiều
Tìm giá trị lớn nhất, nhỏ nhất của một tập hợp các mảng số nguyên
Các bài tập PHP có giải khác có trên VietJack:
- Mục lục
- Bài tập PHP cơ bản
- Bài tập mảng
- Bài tập vòng lặp for
- Bài tập hàm
- Bài tập Regular Expression
- Bài tập Date Time
- Bài tập String
- Bài tập về Class [Lớp]
- Xử lý JSON trong PHP
- Các thuật toán sắp xếp
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:
Follow fanpage của team //www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền //www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Ngữ pháp tiếng Anh, luyện thi TOEIC, PHP, Java, C, C++, Javascript, HTML, Python, Database, Mobile ... mới nhất của chúng tôi.
Bài viết liên quan
160 bài học ngữ pháp tiếng Anh hay nhất
155 bài học Java tiếng Việt hay nhất
100 bài học Android tiếng Việt hay nhất
247 bài học CSS tiếng Việt hay nhất
197 thẻ HTML cơ bản
297 bài học PHP
101 bài học C++ hay nhất
97 bài tập C++ có giải hay nhất
208 bài học Javascript có giải hay nhất
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.
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 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:
Bài viết này được đăng tại [free 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ả:
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 '
- ';
foreach [$authors as $key => $author]
{
echo '
- ';
echo 'Phần tử thứ: ' . $key;
echo '
'; var_dump[$author]; echo '
'; echo ' ';
}
echo '
Kết quả:
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' => '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à 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!