Làm cách nào để đọc tệp CSV và chuyển đổi thành mảng trong PHP?

Dán dữ liệu CSV của bạn hoặc nhấp vào Upload CSV để tải tệp CSV lên hoặc kéo và thả tệp CSV vào bảng điều khiển, trình chuyển đổi CSV sẽ thực hiện phép thuật chuyển đổi ngay lập tức. Đừng lo lắng về dấu phân cách CSV, trình chuyển đổi sẽ tự động xác định dấu phân cách, nó hỗ trợ dấu phẩy, tab, dấu hai chấm, dấu chấm phẩy, dấu gạch ngang, dấu gạch chéo, octothorpe, v.v.

2. Chỉnh sửa CSV của bạn trực tuyến, nếu cần

Bạn có thể chỉnh sửa dữ liệu của mình trực tuyến như Excel thông qua và các thay đổi sẽ được chuyển đổi thành Mảng PHP trong thời gian thực

3. Sao chép Mảng PHP đã chuyển đổi

Chỉ cần sao chép mã mảng php đã tạo vào và dán mã đó vào tệp php của bạn để kiểm tra

Ghi chú. Dữ liệu của bạn được bảo mật, việc chuyển đổi được thực hiện hoàn toàn trong trình duyệt web của bạn và chúng tôi sẽ không lưu trữ bất kỳ dữ liệu nào của bạn

Tôi có một tệp CSV (giá trị được phân tách bằng dấu phẩy) liệt kê tất cả các vùng ngoại ô ở Úc, cùng với mã bưu chính, vĩ độ và kinh độ của chúng. Tôi cần nó được lưu trong một tệp dưới dạng một mảng cho dự án tôi đang thực hiện, nhưng không muốn chạy nhiều truy vấn biểu thức chính quy, đặc biệt nếu tôi cần sử dụng nó trên các nhóm vị trí khác

Làm cách nào để bạn chuyển đổi một tệp csv thành một mảng trong php? . Sau đó, sử dụng vòng lặp foreach để lặp lại từng mục, lặp lại các phần tử ở định dạng bạn cần

Hãy xem nó trông như thế nào trong mã

$csv = array_map('str_getcsv', file('locations.csv'));

echo "array (
"; foreach($csv as $location => $data) { echo " array (
"; echo '  "postcode" => "' . $data[1] . '",
'; echo '  "name" => "' . $data[2] . '",
'; echo '  "state_code" => "' . $data[3] . '",
'; echo '  "lat" => "' . $data[4] . '",
'; echo '  "lng" => "' . $data[5] . '"
'; echo " ),
"; } echo ");";

Điều đó tạo ra một mảng trông như thế này

array (
 array (
  "postcode" => "2850",
  "name" => "Aarons Pass",
  "state_code" => "NSW",
  "lat" => "-32.86328",
  "lng" => "149.80375"
 ),
 array (
  "postcode" => "6280",
  "name" => "Abba River",
  "state_code" => "WA",
  "lat" => "-33.68488",
  "lng" => "115.46334"
 ),
 array (
  "postcode" => "6280",
  "name" => "Abbey",
  "state_code" => "WA",
  "lat" => "-33.66077",
  "lng" => "115.25863"
 ),
);

Sau đó, tôi đã sao chép và dán mã đã xuất vào dự án của mình, thêm $locations = trước mã đó và thế là xong

Làm cách nào để đọc tệp CSV và chuyển đổi thành mảng trong PHP?

Một tính năng hữu ích của PHP là làm việc với tệp CSV. Chúng tôi đã thấy việc chuyển đổi các mảng kết hợp sang CSV. Trong bài viết này, chúng ta sẽ xem cách đọc và chuyển đổi CSV thành mảng kết hợp PHP. Sau khi bạn đã ánh xạ tệp CSV thành một mảng kết hợp, có thể thực hiện một loạt các chuyển đổi dữ liệu. Vì vậy, hãy nhảy vào chủ đề chính mà không cần phải quảng cáo thêm

Đọc tệp CSV thành một mảng kết hợp PHP

từ chối trách nhiệm

Cách tiếp cận này để đọc các tệp CSV vào các mảng kết hợp PHP sẽ hoạt động trong PHP 5 >= 5. 3. 0, PHP7, PHP8. Nếu bạn không sử dụng các phiên bản này, thì có lẽ tùy chọn thứ hai sẽ phù hợp với bạn

Cách đơn giản nhất để ánh xạ CSV tới các mảng kết hợp trong PHP

Đây là cách đơn giản nhất để ánh xạ CSV tới các mảng kết hợp trong PHP. Chúng tôi có tệp CSV chứa dữ liệu nhân viên. Chúng ta cần chuyển đổi CSV này thành mảng kết hợp PHP

Làm cách nào để đọc tệp CSV và chuyển đổi thành mảng trong PHP?

Hãy xem mã và đầu ra, sau đó chia nhỏ quy trình để nâng cao hiểu biết về nó

Tập lệnh PHP để tải tệp CSV vào mảng

Xuất kết quả chuyển đổi CSV sang mảng

Array
(
    [0] => Array
        (
            [Id] => 1
            [Name] => Anna
            [Age] => 30
            [Salary] => 20000
            [Department] => Finance
        )

    [1] => Array
        (
            [Id] => 2
            [Name] => Adam
            [Age] => 25
            [Salary] => 15000
            [Department] => IT
        )

    [2] => Array
        (
            [Id] => 3
            [Name] => Bob
            [Age] => 32
            [Salary] => 25000
            [Department] => Finance
        )

    [3] => Array
        (
            [Id] => 4
            [Name] => Cara
            [Age] => 20
            [Salary] => 12000
            [Department] => Logistics
        )

    [4] => Array
        (
            [Id] => 5
            [Name] => Daniel
            [Age] => 28
            [Salary] => 27000
            [Department] => Engineering
        )

    [5] => Array
        (
            [Id] => 6
            [Name] => Franklin
            [Age] => 25
            [Salary] => 20000
            [Department] => Quality Assurance
        )

    [6] => Array
        (
            [Id] => 7
            [Name] => Gorge
            [Age] => 21
            [Salary] => 15000
            [Department] => IT
        )

    [7] => Array
        (
            [Id] => 8
            [Name] => Kylie
            [Age] => 20
            [Salary] => 10000
            [Department] => Engineering
        )

    [8] => Array
        (
            [Id] => 9
            [Name] => Ivan
            [Age] => 23
            [Salary] => 12000
            [Department] => Logistics
        )

    [9] => Array
        (
            [Id] => 10
            [Name] => James
            [Age] => 25
            [Salary] => 20000
            [Department] => Quality Assurance
        )

)

Việc ánh xạ từ CSV sang các mảng kết hợp trong PHP đã được thực hiện với một vài dòng mã mà chúng tôi sẽ gỡ lỗi ngay bây giờ

Phá vỡ

Đây là một biểu đồ luồng về cách logic chảy. Chúng ta sẽ xem tất cả các chức năng này phối hợp với nhau như thế nào để hoàn thành nhiệm vụ

Làm cách nào để đọc tệp CSV và chuyển đổi thành mảng trong PHP?

  1. Hàm array_map nhận hàm gọi lại str_getcsv và hàm tệp làm đối số thứ hai.  
    • Hàm tệp đọc toàn bộ tệp CSV dưới dạng chuỗi
    • Hàm array_map sử dụng hàm gọi lại str_getcsv để xử lý từng dòng chuỗi và chuyển đổi nó thành một mảng
  2. Sau bước 1, chúng ta có một mảng có tất cả các thực thể được phân tách bằng dấu phẩy dưới dạng các giá trị riêng lẻ. Chúng tôi chạy array_shift để lấy hàng tiêu đề
  3. Chúng tôi lặp lại các giá trị mảng còn lại và bằng cách sử dụng array_combine, nó ánh xạ từng hàng tới tiêu đề
  4. Cuối cùng, bản đồ CSV sang mảng kết hợp PHP như được hiển thị trong đầu ra

Mã này khá đơn giản để hiểu nếu bạn biết các chức năng này. Bạn nên làm quen với các chức năng này bằng cách theo các liên kết trang tài liệu PHP chính thức

Đọc và chuyển đổi CSV thành mảng kết hợp có tiêu đề đầy đủ Ví dụ về PHP

Chúng ta sẽ thấy một ví dụ ở đây cũng sẽ chạy tốt như PHP phiên bản 4 trở lên. Ví dụ này sẽ có nhiều mã hơn ví dụ trước vì nhiều hàm mới nhất đã được thay thế bằng các hàm tương thích và một số phần mã nhất định đã được rút gọn thành các vòng lặp foreach lồng nhau để hoàn thành tác vụ


Đầu ra và dòng mã vẫn giữ nguyên. Vì vậy, chúng tôi sẽ không giải thích lại toàn bộ. Sự khác biệt ở đây là một số chức năng đã được thay thế bằng mã tương thích hơn. Bạn có thể thử để tìm ra nó bằng cách xem qua phân tích trong phần trước

Các mảng kết hợp từ CSV sang PHP với các tiêu đề

Chúng ta đã thấy cách đọc và chuyển đổi CSV sang mảng kết hợp trong PHP. Tùy chọn đầu tiên là tùy chọn đơn giản nhất, nhưng một số chức năng được sử dụng ở đó không tương thích với các phiên bản PHP dưới 5. Vì vậy, tùy chọn thứ hai giải quyết vấn đề không tương thích và sử dụng các giải pháp thay thế để giải quyết vấn đề tương thích. Chúng tôi hy vọng bạn đã tìm hiểu về cách chuyển đổi CSV sang mảng kết hợp PHP

Bạn muốn khám phá thêm các bài hướng dẫn PHP hữu ích?

Chúng tôi có nhiều bài viết thú vị liên quan đến PHP. Bạn có thể khám phá những điều này để tìm hiểu thêm về PHP

Tìm kiếm nhiều giá trị trong mảng PHP

Cách lọc mảng đối tượng theo giá trị trong PHP

Cách lọc mảng đối tượng theo khóa trong PHP

Bài viết liên quan

Làm cách nào để đọc tệp CSV và chuyển đổi thành mảng trong PHP?
Cách sắp xếp mảng đối tượng theo thuộc tính trong PHP
Làm cách nào để đọc tệp CSV và chuyển đổi thành mảng trong PHP?
Tải lên và lưu tệp PHP – Tải lên tệp CSV có mã ví dụ
Làm cách nào để đọc tệp CSV và chuyển đổi thành mảng trong PHP?
Cách sử dụng liên kết
Làm cách nào để đọc tệp CSV và chuyển đổi thành mảng trong PHP?
What is an associative array or hash map in PHP


  • ← Tìm giá trị trong mảng PHP đa chiều. Ví dụ về mã 2023
  • Tìm kiếm nhiều giá trị trong mảng PHP. Ví dụ về mã 2023 →

Viết mã tốt hơn nhanh hơn

Nhấp vào đây để nhận các bí mật hàng đầu 'Trở thành Rockstar PHP Dev trong 7 ngày' của chúng tôi được gửi đến hộp thư đến của bạn

đăng ký

Làm cách nào để đọc tệp CSV và chuyển đổi thành mảng trong PHP?

Stephen Phép Lạ

Chào. Tôi hy vọng bạn thích bài viết này. Tôi đã phát triển các trang web và phần mềm một cách chuyên nghiệp trong hơn 20 năm. Tôi bắt đầu FuelingPHP như một cách để đền đáp lại cộng đồng nguồn mở đã giúp tôi có thể sống thoải mái khi xây dựng những thứ tôi yêu thích

Làm cách nào để chuyển đổi tệp CSV thành mảng trong PHP?

Ánh xạ str_getcsv() để đọc CSV và chuyển đổi nó thành một mảng PHP . Sau đó, array_map đặt hàm str_getcsv() làm lệnh gọi lại để lặp lại mảng các hàng của tệp CSV. str_getcsv() nhập dữ liệu hàng CSV vào một mảng.

Làm cách nào để đọc dữ liệu từ tệp CSV trong PHP?

Chúng tôi có thể lấy dữ liệu từ tệp CSV (các giá trị được phân tách bằng dấu phẩy ) bằng cách sử dụng hàm fgetcsv() trong PHP. Hàm chuỗi này trả về cho chúng ta dòng dữ liệu hoặc bản ghi dưới dạng một mảng. Hàm này đọc dòng từ con trỏ tệp mà chúng tôi cung cấp (bởi fopen) và phân tích cú pháp cho dữ liệu CSV. Vì vậy, dữ liệu có thể được thu thập dưới dạng các phần tử của mảng.

Làm cách nào để đọc cột tệp CSV một cách khôn ngoan trong PHP?

Bạn có thể mở tệp bằng cách sử dụng fopen() như bình thường, lấy từng dòng bằng cách sử dụng fgets() và sau đó chỉ cần ngắt tệp đó theo từng dấu phẩy like this:

Làm cách nào để nhập tệp CSV trong PHP?

Làm cách nào để nhập và xuất CSV bằng cách sử dụng php và MySQL? .
Phê duyệt hồ sơ đã gửi, cho dù là tệp CSV quan trọng
Kiểm tra trạng thái truyền tệp CSV bằng hàm is_uploaded_file() của PHP
Truy cập tệp CSV bằng hàm PHP fopen()
Phân tích dữ liệu từ bản ghi CSV sử dụng hàm PHP fgetcsv()