簡體   English   中英

將逗號分隔的數組值循環出多維數組

[英]loop out comma separated array value into multi dimensional array

我的PHP應用程序會將選定的csv文件上傳到內存中。 然后使用str_getcsv將其轉換為數組,如下所示。

//get file from session variable created in upload.php
$uploadedfile = str_getcsv($_SESSION['uploadedfile'], "\n");

//remove first two rows as these contain headers
unset($uploadedfile[0]);
unset($uploadedfile[1]);

該數組當前如下所示:

array(4174) {
  [2]=>
string(180) "productID,ProductBarcode,brand,productType,productName"
  [3]=>
string(178) "productID,ProductBarcode,brand,productType,productName"

我需要遍歷每一行並將逗號分隔的值分解為多維數組。 所以看起來像這樣:

array() {
 [row2]=>
   "productID => 001"
   "ProductBarcode=>101010"
   "brand=>apple"
   "productType=>notebook"
   "productName=>Macbook pro"
 [row3]=>
   "productID => 002"
   "ProductBarcode=>20202"
   "brand=>apple"
   "productType=>desktop"
   "productName=>iMac"
 }

我相信這個問題正試圖回答類似的問題,但未提供答案: PHP:將方括號之間的逗號分隔值解析為多維數組

嘗試使用file將文件行讀入數組。 然后,將第一行用作array_shift標題。 之后,循環並使用str_getcsv將行讀入數組,並與標頭結合:

$uploadedfile = file($_SESSION['uploadedfile'], FILE_IGNORE_NEW_LINES);
$headers = array_shift($uploadedfile);
unset($uploadedfile[0]);

foreach($uploadedfile as $line) {
    $data[] = array_combine($headers, str_getcsv($line));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM