Cách duyệt mảng một chiều, đa chiều trong PHP

Bấm SUBSCRIBE ngay để theo dõi video mới trên youtube:

Sau khi dữ liệu được tổ chức dạng mảng, những công việc xử lý đến các phần tử của mảng yêu cầu chúng ta cần có kỹ thuật ghé thăm các phần tử của mảng. Các công việc đó có thể là tính toán hoặc đơn giản là hiển thị dữ liệu trong mảng nhúng vào tài liệu HTML trả về hướng người dùng. 

DUYỆT MẢNG LÀ GÌ?

  • Là phương pháp ghé thăm các phần tử của mảng
  • Phép duyệt giúp chúng ta tác động và xử lý các yêu cầu liên quan trực tiếp các phần tử của mảng(Xuất dữ liệu, tính toán…)

CẤU TRÚC DUYỆT MẢNG

  • Foreach là cấu trúc dùng để duyệt mảng
  • Trong mỗi bước duyệt chúng ta ghé thăm mỗi phần tử của mảng
  • Key Và Value là thông tin của mỗi phần tử mảng được cung cấp trong vòng lặp
foreach($myArray as $key=>$value){
    //$key: key của phần tử đang được duyệt
    //$value: Giá trị của phần tử đang được duyệt
// Xử lý tác động vào các phần tử của mảng
}

Chú ý: Nếu không cần sử dụng đến key thì không cần có key trong cấu trúc vòng lặp foreach

DUYỆT MẢNG MỘT CHIỀU PHP

Ví dụ 1: Xuất thông tin các phần tử của mảng $colorArray

<?php
$colorArray = array('green', 'blue', 'red');
foreach($colorArray as $key=>$value){
  echo $a;
}
?>

Ví dụ 2: Xuất thông tin các phần tử của mảng $student

Duyệt mảng hai chiều PHP

<?php
$student = array(
    '08T1016' => 'Phan Văn Cương',
    '08t1013' => 'Nguyễn Văn Hoàng',
    '08t1015' => 'Bùi Việt Đức',
);
foreach($student as $key=>$value){
  echo $key.'=>'.$value;
}
?>

Chú ý: Cặp thông tin $key$value mang ý nghĩa tượng trưng cho chức năng của cấu trúc, tên biến chúng ta hoàn toàn có thể thay đổi.

DUYỆT MẢNG ĐA CHIỀU

  • Là phép duyệt để thăm và xử lý các phần tử của mảng đa chiều
  • Sử dụng các cấu trúc foreach lồng nhau để duyệt mảng có chiều lớn hơn 2

Ví dụ 1: Duyệt mảng hai chiều $course để hiện thị thông tin các khóa học tại Hocweb123

<?php
$course = array(
    'FRONTEND' => array(
    'title' => 'Khóa học lập trình Frontend Online',
    'fee' => 1200000
    ),
    'PHP-MYSQL' => array(
    'title' => 'Khóa học  lập trình web PHP-MYSQL',
    'fee' => 1680000
    )
);
foreach($course as $k => $v){
    echo "{$k}<br/>";
    echo "--{$v['title']}<br/>";
    echo "--{$v['fee']}<br/>";
}
?>

Ví dụ 2: Duyệt mảng đa chiều $schools hiển thị danh sách Giáo viên và Sinh viên.

(Nội dung mảng theo dõi ở phần thực hành)

Duyệt mảng đa chiều trong PHP

 

Cấu trúc mảng $schools

$schools = array(
    'students' => array(
        'SV01' => array(
            'name' => 'Phan Văn Cương',
            'birth' => '10/11/1988',
            'gender' => 'Nam'
        ),
        'SV02' => array(
            'name' => 'Nguyễn Văn Hoàng',
            'birth' => '04/12/1990',
            'gender' => 'Nam'
        ),
        'SV03' => array(
            'name' => 'Trần Thị Hằng',
            'birth' => '01/07/1992',
            'gender' => 'Nữ'
        ),
        'SV04' => array(
            'name' => 'Khánh Linh',
            'birth' => '01/07/1994',
            'gender' => 'Nữ'
        ),
    ),
    'teacher' => array(
        'GV01' => array(
            'name' => 'Trần Thiện Thành',
            'birth' => '04/06/1982',
            'gender' => 'Nam'
        ),
        'GV02' => array(
            'name' => 'Nguyễn Văn Hiếu',
            'birth' => '05/10/1981',
            'gender' => 'Nam'
        ),
        'GV03' => array(
            'name' => 'Nguyễn Thị Lệ',
            'birth' => '04/12/1981',
            'gender' => 'Nữ'
        ),
    )
);
?>

Duyệt mảng nhúng vào code HTML 

<div id="content">
           <?php
              foreach ($schools as $k => $v) {
                    ?>
                    <h1 class="list_title"><?php echo $k; ?></h1>
                    <ul class="list_chools">
                        <?php foreach ($v as $k1 => $v1) {
                            ?>
                            <li>
                                <p><span>MaSV:</span><?php echo $k1; ?></p>
                                <p><span>Tên:</span><?php echo $v1['name'] ?></p>
                                <p><span>Ngày sinh:</span><?php echo $v1['birth'] ?></p>
                                <p><span>Giới tính:</span><?php echo $v1['gender'] ?></p>
                            </li>
                        <?php }
                        ?>

                    </ul>
                    <?php
                }
                ?>
            </div>

 

BÀI TẬP

1.Xây dựng giao diện và duyệt mảng quản lý tin tức hiển thị thông tin về phía người dùng

2.Xây dựng giao diện và duyệt mảng quản lý sản phẩm hiển thị thông tin về phía người dùng

Chú ý: Các bạn sử dụng mảng đã xây dựng ở phần bài tập tạo mảng trong bài trước