Như bạn có thể thấy, thư viện hỗ trợ cả thuộc tính công khai và phương thức setter. Chỉ cần sử dụng những gì bạn thích
Đối với gợi ý loại, bạn có thể sử dụng bất kỳ hàm vô hướng nào có sẵn [chuỗi, bool, int và float] hoặc một trong các dẫn xuất ngày giờ [DateTimeInterface, DateTime, DateTimeImmutable]. Bạn có thể đặt tiền tố cho chúng bằng dấu ?
Bây giờ bạn có thể dễ dàng đọc từ tệp CSV
Trong bài đăng này, tôi sẽ chỉ cho bạn cách sử dụng các hàm có sẵn của PHP để đọc và in nội dung của tệp CSV và chuyển đổi nó thành một mảng. Chúng tôi sẽ sử dụng
34 và
35 để đọc nội dung của tệp CSV, sau đó chúng tôi sẽ chuyển đổi nó thành một mảng bằng cách sử dụng các hàm
36 và
37
Giới thiệu
Lưu trữ tệp dữ liệu ở định dạng giá trị được phân tách bằng dấu phẩy [CSV] không phải là điều mới. Trên thực tế, đây là một trong những cách lưu trữ dữ liệu phổ biến nhất do tính đơn giản của nó—tệp CSV dễ đọc và ghi, đồng thời có thể mở trong trình soạn thảo văn bản cơ bản. Loại tệp này lưu trữ dữ liệu dạng bảng ở dạng văn bản thuần túy
Một ví dụ về một tập tin như vậy sẽ trông như thế này
1_______5
2
Rehema,15,programmer
3
Beatrice,23,doctor
Dữ liệu này thể hiện thông tin về ba người, với các cột tương ứng với tên, tuổi và công việc của họ. Mặc dù đây là một định dạng dữ liệu đơn giản nhưng có thể khó đọc và sử dụng
Do đó, trong bài viết này, tôi sẽ hướng dẫn bạn cách mở tệp CSV bằng cách sử dụng các hàm gốc của PHP như
34, cách đọc nội dung của tệp này bằng cách sử dụng phương thức
35 và cuối cùng là cách chuyển đổi tệp CSV này thành một mảng bằng cách sử dụng
Tất nhiên, có một số gói của bên thứ ba mà chúng tôi có thể sử dụng để đạt được điều này, nhưng PHP có các hàm gốc tích hợp hoạt động rất tốt.
điều kiện tiên quyết
Để tiếp tục với bài viết này, bạn sẽ cần những thứ sau
- PHP phiên bản 5. 6 trở lên được cài đặt trên máy của bạn
- môi trường phát triển cho PHP—XAMPP hoặc WampServer đều hoạt động tốt
- một số hiểu biết cơ bản về các khái niệm PHP
Hãy bắt đầu nào
Hiển thị Tệp CSV dưới dạng Bảng
Trong phần này của bài viết, chúng ta sẽ đọc một tệp CSV đơn giản chứa một vài từ được phân tách bằng dấu phẩy. Để bắt đầu, chúng tôi sẽ sử dụng tệp đơn giản mà chúng tôi đã sử dụng ở trên và sau đó chúng tôi có thể tiếp tục sử dụng tệp lớn hơn ngẫu nhiên. Tất nhiên, bạn có thể tạo tệp của riêng mình bằng Microsoft Excel hoặc trình soạn thảo văn bản và lưu tệp đó với phần mở rộng CSV
Để đọc tệp, trước tiên chúng ta phải tìm tệp đó trong thư mục hoặc vị trí tệp được lưu trong đó. Để truy cập dễ dàng hơn, bạn có thể muốn lưu nó vào cùng thư mục nơi bạn có tệp chương trình của mình. Sau đó, chúng ta có thể sử dụng hàm
34 để đọc tệp
Sau đó, hàm
35 kiểm tra các trường CSV từ một dòng được phân tích cú pháp của tệp đang mở. Chức năng này yêu cầu ba tham số. xử lý tệp được trả về từ
34, độ dài tối đa của dòng được đọc và ký tự phân cách đặc biệt—mà chúng tôi gọi là "dấu phân cách". Đây có thể là dấu phẩy, dấu chấm phẩy hoặc bất kỳ dấu phân cách nào khác
Bây giờ chúng ta hãy thực hành
Tạo một tệp có tên csvtable. php ở đâu đó, nó có thể được cung cấp bằng WAMP hoặc XAMPP và sao chép đoạn mã sau
1
37
2
3
Elias,40,nurse0
Elias,40,nurse1
Elias,40,nurse2
Elias,40,nurse3
Elias,40,nurse4
Elias,40,nurse5
Elias,40,nurse6
Elias,40,nurse7
Elias,40,nurse8
Elias,40,nurse9
20
21
22
23
24
25
26
27
28
29
Rehema,15,programmer0
Rehema,15,programmer1
Rehema,15,programmer2
Rehema,15,programmer3
Rehema,15,programmer4
Rehema,15,programmer_______7___9_____7___7 1
Trong tệp này, trước tiên chúng tôi mở dữ liệu. csv, tệp này sẽ chứa một số dữ liệu được phân tách bằng dấu phẩy.
Elias,40,nurse04 sẽ tìm tệp này trong cùng thư mục với csvtable. php. Tham số
Elias,40,nurse05 yêu cầu
Elias,40,nurse04 mở tệp dưới dạng chỉ đọc.
Nếu tệp được mở thành công,
Elias,40,nurse04 sẽ trả về một phần xử lý tệp có thể được sử dụng cho các thao tác đọc tệp khác. Nếu không, nó sẽ trả về
Elias,40,nurse08. Do đó, chúng tôi kiểm tra xem xử lý tệp không phải là
Elias,40,nurse08 trước khi tiếp tục đọc tệp
Tệp
35 sau đó tìm nạp các trường CSV từ tệp đã mở, mỗi lần một dòng. Chúng tôi yêu cầu
Elias,40,nurse11 đọc tối đa 100 ký tự trên mỗi dòng và sử dụng dấu phân cách bằng dấu phẩy làm dấu phân cách. Các từ được tìm thấy trong tệp sau đó được lặp lại và in thành bảng HTML
Hàm cuối cùng là hàm
Elias,40,nurse12, đóng tệp đã mở. Điều này giải phóng bộ nhớ được sử dụng bởi tệp đang mở và cho phép các quy trình khác có quyền truy cập vào tệp
mở csvtable. php thông qua máy chủ WAMP hoặc XAMPP localhost hoặc chạy
Elias,40,nurse13 từ dòng lệnh để xem đầu ra sau
Phần đầu tiên của những gì chúng ta cần đạt được đã được thực hiện
Bây giờ, chúng ta sẽ chuyển đổi các trường CSV thô thành một mảng
Chuyển đổi tệp CSV thô thành một mảng
Bây giờ, có nhiều cách để tạo mảng. Chúng ta có thể sử dụng hàm
35 để tự động chuyển đổi nội dung của tệp CSV thành một mảng hoặc chúng ta có thể sử dụng
Elias,40,nurse15
Sử dụng 3
5 để chuyển đổi tệp CSV thành một mảng
Điều này tương tự như ví dụ ở trên, nơi chúng tôi đã sử dụng
35 để hiển thị tệp CSV dưới dạng bảng HTML. Hãy xem điều này trong hành động. Tạo một tệp PHP với các nội dung sau
1
37
2
35
3
Elias,40,nurse1
38
Elias,40,nurse2
Elias,40,nurse4
Beatrice,23,doctor1
Elias,40,nurse6
Beatrice,23,doctor3
Elias,40,nurse8
20
Rehema,15,programmer1
22
24
Rehema,15,programmer6
26
11
28
Rehema,15,programmer8
Rehema,15,programmer0
Rehema,15,programmer2
16
Rehema,15,programmer4
18
Rehema,15,programmer5
370
Rehema,15,programmer7
Rehema,15,programmer9
373
30
375
376
377
378
379
20
31
Trong đoạn mã trên, chúng tôi đã tạo một hàm để đọc tệp CSV và chuyển đổi nó thành một mảng. Chúng tôi chuyển vào một tham số có tên và đường dẫn tệp tài liệu CSV
Sau đó, chúng tôi sử dụng chức năng
Elias,40,nurse18 để kiểm tra xem đã đến cuối tệp chưa. Cho đến khi có, chúng ta cần phân tích cú pháp các trường CSV bằng cách sử dụng hàm
35, giống như chúng ta đã làm trong ví dụ trên
Các trường CSV được phân tích cú pháp từ tệp CSV được chuyển đổi thành một mảng bằng cách sử dụng hàm
35 và được thêm từng trường một vào biến
Elias,40,nurse21
Cuối cùng, đừng quên sử dụng hàm
Elias,40,nurse12 để đóng tệp đã mở trước khi thoát khỏi hàm
Sau đó, chúng tôi gọi hàm
Elias,40,nurse23, chuyển tài liệu CSV dưới dạng tham số và tiếp theo, nội dung của tệp CSV được hiển thị như bên dưới
Sử dụng 3
6 để đọc tệp CSV
Ngoài ra, bạn có thể sử dụng hàm
36 để đọc tệp CSV thành một mảng. Để làm điều này, bạn sẽ sử dụng
Elias,40,nurse26 làm chức năng gọi lại. Đây là một hàm PHP tích hợp được sử dụng để phân tích chuỗi CSV thành một mảng
Hàm gọi lại là một số mã thực thi được chuyển đến một đoạn mã khác dưới dạng đối số. Đối số này dự kiến sẽ được gọi lại sau bởi mã mà nó được chuyển đến
Đây là cách chúng tôi có thể sử dụng
Elias,40,nurse15 và
Elias,40,nurse26 để ánh xạ dữ liệu CSV của mình thành một mảng
1______17
2
25
3
375
Elias,40,nurse1
377
Elias,40,nurse2
379
Elias,40,nurse4
31
Đoạn mã trên sử dụng phương pháp
Elias,40,nurse29 để đọc tệp CSV thành một mảng các dòng. Sau đó, với bản đồ mảng, nó gọi
37 trên mỗi dòng và lưu trữ dữ liệu cho toàn bộ tệp trong
Elias,40,nurse31. Hàm
37 phân tích nội dung trường CSV của mỗi dòng thành một mảng
Đầu ra của đoạn mã trên sẽ giống như trên
Lưu ý rằng mã được yêu cầu ít hơn bao nhiêu khi sử dụng trực tiếp hàm
Elias,40,nurse29 và hàm
36?
Phần kết luận
Trong bài viết này, bạn đã học cách xử lý tệp CSV trong PHP bằng cách đọc và hiển thị nội dung của nó bằng cách sử dụng các hàm gốc của PHP như
34 và
35 và chuyển đổi các trường CSV thành một mảng. Tôi đã chỉ cho bạn hai cách để làm điều này.