亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在PHP中將數據從數組格式化為Json

在PHP中將數據從數組格式化為Json

PHP
一只名叫tom的貓 2022-11-04 16:33:02
為了向 AJAX 請求發送數據,我需要發送格式如下的數據。{    "columns": [        [ "Name" ],        [ "Position" ],        [ "Office" ],        [ "Extn." ],        [ "Start date" ],        [ "Salary" ]    ],    "data": [    [      "Tiger Nixon",      "System Architect",      "Edinburgh",      "5421",      "2011/04/25",      "$320800"    ],    [      "Garrett Winters",      "Accountant",      "Tokyo",      "8422",      "2011/07/25",      "$170750"    ]  ]}如果我將此代碼放入 .txt 中,則請求有效,但我的代碼的目的是使用 CSV 文件中的數據。這就是我使用此 file.php 的原因:<?php//import csv fileif(!empty($_FILES['csv_file']['name'])){$file_data = fopen($_FILES['csv_file']['tmp_name'], 'r');  $csv = fgetcsv($file_data);  //get header column  of csv file : 1rst line  $heads = explode(';', $csv[0]);    foreach ($heads as $head) {     $json['columns'][] = [$head];  }//get  rows of csv file fgetcsv($file_data); while($row = fgetcsv($file_data)) {  $json['data'][] = array(   $row[0],   $row[1],   $row[2],   $row[3],   $row[4],   $row[5],   $row[6],   $row[7],   $row[8],   $row[9],   $row[10],  ); }echo json_encode($json); ?>你能告訴我我的代碼有什么問題嗎?編輯:這是file.csv(數據源)Name,Position,Office,Extn.,Start date,SalaryTiger NixonSystem Architect,,Edinburgh,5421,25/04/2011,$320800Garrett Winters,Accountant,Tokyo,8422,25/07/2011,$170750
查看完整描述

1 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

我已經修改了你的代碼。請嘗試一下。它正在工作。


我有刪除標題foreach。這不是必需的。此外,在 2ed 循環中刪除一對一的數組分配代碼并添加$json['data'][] = explode(';', $row[0]);代碼。


這是修改后的代碼。


<?php

//import csv file

if (!empty($_FILES['csv_file']['name'])) {

    $file_data = fopen($_FILES['csv_file']['tmp_name'], 'r');

    $csv = fgetcsv($file_data);


    //get header column  of csv file : 1rst line

    $json['columns'] = $csv;


    //get rows of csv file

    while ($row = fgetcsv($file_data)) {

        $json['data'][] = $row;

    }


    echo json_encode($json);

}

?>

=> 輸出


大批:


Array

(

    [columns] => Array

        (

            [0] => Name

            [1] => Position

            [2] => Office

            [3] => Extn.

            [4] => Start date

            [5] => Salary

        )


    [data] => Array

        (

            [0] => Array

                (

                    [0] => Tiger NixonSystem Architect

                    [1] => 

                    [2] => Edinburgh

                    [3] => 5421

                    [4] => 25/04/2011

                    [5] => $320800

                )


            [1] => Array

                (

                    [0] => Garrett Winters

                    [1] => Accountant

                    [2] => Tokyo

                    [3] => 8422

                    [4] => 25/07/2011

                    [5] => $170750

                )


        )


)

JSON:


{"columns":["Name","Position","Office","Extn.","Start date","Salary"],"data":[["Tiger NixonSystem Architect","","Edinburgh","5421","25\/04\/2011","$320800"],["Garrett Winters","Accountant","Tokyo","8422","25\/07\/2011","$170750"]]}



查看完整回答
反對 回復 2022-11-04
  • 1 回答
  • 0 關注
  • 117 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號