[英]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.