Hướng dẫn associative array to csv php - mảng kết hợp với csv php

Xin chào các bạn chỉ muốn hỏi làm thế nào tôi có thể đặt một mảng kết hợp trong CSV? Ví dụ nếu tôi có một mảng như thế này.

Array
(
    [0] => Array
        (
            [restaurant_id] => 1227
            [new_lat] => 13.62241
            [new_long] => 123.19341
            [date_updated] => 2013-11-14 11:20:26
        )

    [1] => Array
        (
            [restaurant_id] => 1218
            [new_lat] => 14.66732
            [new_long] => 121.02618
            [date_updated] => 2013-11-14 11:22:22
        )
)

Đối với mã của tôi trong việc tạo CSV là:

            $restaurant_id = $post_data['company_id'];
            $new_lat_entry = $post_data['new_lat'];
            $new_long_entry = $post_data['new_long'];

            $data_add =  array(
                'restaurant_id' => $restaurant_id,
                'new_lat' => $new_lat_entry,
                'new_long' => $new_long_entry,
                'date_updated' => date('Y-m-d H:i:s')
            );

            $data = unserialize(file_get_contents('addresses.txt'));
            $data[] = $data_add;

            $serialize_data = serialize($data);
            file_put_contents("addresses.txt", $serialize_data, LOCK_EX); //write the text file

            $array = unserialize(file_get_contents('addresses.txt')); //THIS WILL GET THE ARRAY
                    echo "
";
            print_r($array); //display it

            $csv = '';
            foreach($array as $row) {
                $csv .= implode(',', $row) . "\n";
            }


            //fn_print_die($csv);


            $file_input = fopen("addresses.csv","w");
            foreach($csv as $line){
                fputcsv($file_input,split(',',$line));
            }
            fclose($file_input);

PHP có các chức năng tích hợp có thể giúp chuyển đổi một mảng thành CSV trong PHP. Mô -đun xử lý tệp PHP cung cấp các chức năng hữu ích để tạo, cập nhật và xóa các loại tệp khác nhau. Một tệp hoặc CSV được phân tách bằng dấu phẩy là một trong những định dạng tệp quan trọng nhất và một số chức năng PHP gốc giúp chúng tôi làm việc với các tệp này. Những chức năng này là. array to csv in PHP. PHP File handling module provides useful functions for creating, updating, and deleting different types of files. A Comma-separated file or CSV is one of the most important file formats, and some native PHP functions help us work with these files. These functions are.

  • fopen (mở một tệp)(Opens a file)
  • fputcsv (ghi vào CSV)(Writes to a CSV)
  • fclose (đóng một tệp)(Closes a file)

Trước tiên, hãy xem xét các chức năng này khi chúng đang xây dựng các khối của những gì chúng ta sẽ thấy trong ví dụ sắp tới.

Php fopen - mảng đến CSV PHP

Chức năng PHP Fopen mở một tệp hiện có hoặc tạo một tệp mới. Ở đây, chức năng chữ ký của

fopen(string $filename, string $mode,bool $use_include_path = false, resource $context = ?): resource

Bạn có thể thấy một mô tả chi tiết về chức năng này trong tài liệu PHP. Ở đây chúng ta sẽ thấy những lập luận phù hợp nhất đó là.

  • $ fileName & nbsp; - & nbsp; Đường dẫn tệp (ví dụ: Hồi ./my_file.csv,)The file path (Example: “./my_file.csv”)
  • $ mode & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; - & nbsp; Xác định loại truy cập vào các tập tin.      –  Determines the type of access to files.

Thông qua đối số Mode $, chúng tôi có thể chỉ định xem chúng tôi có muốn đọc, viết hoặc nối vào tệp hay không. Dưới đây là một số chế độ phổ biến cho fopen.$mode argument, we can specify whether we want to read, write or append to the file. Here are some common modes for fopen.

Cách thức Sự mô tả
"R" Mở tệp chỉ để đọc.
"R+" Mở tệp để đọc và viết.
W. W Mở tệp chỉ để viết.
"W+" Mở tệp để viết và đọc.
"một" Nối vào tập tin.
chế độ fopen

Chức năng này mở một tệp hoặc tạo một tệp mới nếu nó không tồn tại. Trong trường hợp thất bại, chức năng trả về sai.

PHP FPUTCSV - Mảng đến CSV PHP

Php FputcSv Function định dạng một dòng dưới dạng CSV và ghi nó vào một tệp. Chữ ký của chức năng như sau.

fputcsv( resource $handle, array $fields, string $separator = ",", string $enclosure = '"', string $escape_char = "\\"): int|false

Hai lập luận quan trọng là.

  • $ xử lý - & nbsp; Trình xử lý tập tin được trả về từ chức năng fopen. –  The file handler returned from the function fopen.
  • $ trường & nbsp; - & nbsp; Một mảng được ghi vào tệp.  –   An array to be written to the file.

Khi thành công, hàm trả về độ dài của chuỗi viết. Khác, nó trả về sai.false.

PHP FCLOSE - Mảng đến CSV PHP

Chức năng PHP FCLOSE được sử dụng để đóng một tệp sau khi viết cho nó. Nó luôn luôn là một thông lệ tốt nhất để đóng một tệp nếu nó không được sử dụng thêm nữa. Ở đây, các chức năng chữ ký.

fclose(resource $stream): bool

Khi chuyển trình xử lý tệp cho đối số $ Stream, Fclose sẽ đóng tệp.$stream argument, fclose will close the file.

Ví dụ - Chuyển đổi mảng kết hợp thành CSV trong PHP

Như chúng tôi đã thấy các chức năng có liên quan, hãy để chúng đặt chúng lại với nhau để viết ra một mảng kết hợp vào tệp CSV. Mảng liên kết mà chúng tôi sẽ chuyển đổi có chứa thông tin về nhân viên. Ở đây, nó trông như thế nào.

//An array containing employees data.
$employees_array  = Array
(
    Array
        (
            "Id" => 1,
            "Name" => "Steve",
            "Job" => "Full Stack Developer",
            "Experience" => 5
 
        ),
 
    Array
        (
            "Id" => 2,
            "Name" => "Bob",
            "Job" =>  "Android Developer",
            "Experience" => 4
 
                ),
 
    Array
        (
            "Id" => 3,
            "Name" => "Jenny",
            "Job" =>  "UI/UX Designer",
            "Experience" => 3
 
        )
 
    );

Ở đây, mã chuyển đổi mảng kết hợp thành CSV trong PHP.array to csv in PHP.

$f = fopen('employees.csv', 'a'); // Configure fopen to create, open, and write data.
 
fputcsv($f, array_keys($employees_array[0])); // Add the keys as the column headers
 
// Loop over the array and passing in the values only.
foreach ($employees_array as $row)
{
    fputcsv($f, $row);
}
// Close the file
fclose($f);

Ví dụ sự cố

  1. Hàm fopen tạo một nhân viên tệp CSV.csv ở chế độ phụ lục.fopen function creates a csv file employee.csv in append mode.
  2. Đối với các tiêu đề, FputCSV nhận các khóa của mảng kết hợp bằng Array_KeyFunction.array_keyfunction.
  3. Các vòng lặp foreach thông qua một mảng và nhận được mỗi dữ liệu của nhân viên. & Nbsp;foreach loops through an array and gets each employee’s data. 
  4. FputCSV trong vòng lặp foreach ghi dữ liệu vào tệp.fputcsv within the foreach loop writes the data to the file.
  5. Cuối cùng, Fclose đóng tệp sau khi hoạt động ghi hoàn thành.fclose closes the file after the write operation completes.

Đầu ra

Ở đây, đầu ra.

Id,Name,Job,Experience
1,Steve,"Full Stack Developer",5
2,Bob,"Android Developer",4
3,Jenny,"UI/UX Designer",3

Sự kết luận

Với ba chức năng đơn giản, chúng tôi đã chuyển đổi mảng kết hợp thành CSV trong PHP. Các loại hoạt động này rất hữu ích và thường được sử dụng để tạo các tệp CSV để phân tích và xử lý. Đó là nó cho bài viết này, chúng tôi hy vọng rằng bạn đã thích. Hãy theo dõi để biết thêm nội dung thông tin liên quan đến PHP.array to csv in PHP. These sorts of operations are helpful and often used to create csv files for analysis and processing. That’s it for this article, we hope that you’ve enjoyed. Stay tuned for more informative content related to PHP.

Bạn muốn khám phá thêm về các mảng PHP?

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

Thêm vào một mảng trong PHP

In một mảng trong PHP

Nhận độ dài của một mảng trong PHP