Cách chuyển mảng đa chiều thành mảng đối tượng và ngược lại1757 lượt đọc
Xin chào các bạn!
Thỉnh thoảng khi làm php chúng ta sẽ cần chuyển mảng từ đối tượng sang đa chiều và ngược lại từ đa chiều sang đối tượng. Tôi xin chia sẻ với các bạn một cách để chuyển mảng đa chiều thành mảng hướng đối tượng và ngược lại. Đây cũng là cách mà tôi hay dùng.
Bước 1: các bạn bật trình soạn thảo bất kỳ và tạo một file có tên demo.php trong thư mục (www) ở localhost.
Bước 2: Giả sử các bạn có một mảng đa chiều làm đầu vào với nội dung như bên dưới:
<?php $mang= array( array('id' => 1001, 'ParentId' => NULL, 'Name' => 'Computing', 'Level' => 0), array('id' => 1002, 'ParentId' => NULL, 'Name' => 'Cassettes & Vinyl', 'Level' => 0), array('id' => 1003, 'ParentId' => 1001, 'Name' => 'CD Players', 'Level' => 1), array('id' => 1004, 'ParentId' => 1002, 'Name' => 'CD Writers', 'Level' => 1), array('id' => 1005, 'ParentId' => 1003, 'Name' => 'CD-ROM Drives', 'Level' => 2), array('id' => 1006, 'ParentId' => 1004, 'Name' => 'Computing', 'Level' => 3) );
Bước 3: chúng ta tạo 2 hàm có chức năng chuyển mảng đa chiều bên trên thành mảng đối tượng như sau (chúng ta sẽ sử dụng hàm array_map(__FUNCTION__, $d) ) cụ thể code của hàm này sẽ như sau:
<?php function DaChieuToDoiTuong($d) { if (is_array($d)) { return (object) array_map(__FUNCTION__, $d); } else { return $d; }
Bước 4: chúng ta tiếp tục tạo một hàm có chức năng chuyển từ mảng đối tượng về mảng đa chiều , chúng ta sẽ sử dụng vòng lặp foreach để duyệt toàn bộ mạng cứ một cặp key và value nếu value tồn tại trong mảng thì chúng ta lại gọi dệ qui chính hàm chúng ta viết để gán cặp giá trí này vào mảng đa chiều, cụ thể code của hàm này như sau:
<?php function DoiTuongToDaChieu($result) { $array = array(); foreach ($result as $key=>$value) { if (is_array($value)) { $array[$key]=DoiTuongToDaChieu($value); } else { if (is_object($value)) { $array[$key]=DoiTuongToDaChieu($value); } else { $array[$key]=$value; } } } return $array; }
ok! We done!
Có thể bạn quan tâm?
Trắc nghiệm mới nhất
Phần mềm tải nhiều
-
1
Download Wondershare PDFelement - Phần mềm tạo chỉnh sửa file PDF chuyên nghiệp
747 2023 10/06/2022 -
2
Download Activate AIO Tools - Công cụ kích hoạt Windows và Office bản quyền
390 1652 14/12/2021 -
3
Download Game HITMAN 2 - Gold Edition (2018) torrent for PC
291 1541 09/06/2022 -
4
Download Game Total War: THREE KINGDOMS torrent for PC
222 1677 09/06/2022 -
5
Download Net Support School - Phần mềm quản lý phòng tin học lab - Hướng dẫn cài đặt
187 800 14/12/2021 -
6
Download Game Just Cause 4: Complete Edition torrent for PC
182 1294 09/06/2022