2 回答

TA貢獻1806條經(jīng)驗 獲得超8個贊
您的 CSV 文件可能使用 UTF-8 編碼,帶有BOM(字節(jié)順序標記)。
PHP 在讀取文件時確實(仍然)不能正確處理 BOM,因此您從文件中讀取的第一行仍然會在開始時包含它,因此第一列值也仍然會包含它。因此,您在$csv
數(shù)組中的鍵實際上不是Date
,而是[BOM]Date
,但是您在 print_r 輸出中看不到它(BOM 本身實際上并不“可見”。)
有關(guān)如何刪除 BOM 的建議,請參閱如何刪除多個 UTF-8 BOM 序列或https://gist.github.com/chrisguitarguy/6096271。

TA貢獻1829條經(jīng)驗 獲得超13個贊
您需要獲取每個字段的交易。這里:https ://www.php.net/manual/en/function.fgetcsv.php
我正在使用完全相同的 CSV 文件并為面試制定了解決方案??梢栽谝韵骆溄由蠝y試 CSV 文件: https ://paduademo.azurewebsites.net/
<?php foreach ($transactions as $transaction) : ?>
<tr>
<td><?php echo $transaction['Date']; ?></td>
<td><?php echo $transaction['TransactionNumber']; ?></td>
<td><?php echo ($transaction['Valid'])? 'Yes': 'No'; ?></td>
<td><?php echo $transaction['CustomerNumber']; ?></td>
<td><?php echo $transaction['Reference']; ?></td>
<td><span class="<?php echo ($transaction['type'] == 'Credit')? 'text-danger': 'text-success'; ?>"><?php echo (($transaction['type'] == 'Credit')? '-': '') . '$' . $transaction['Amount']; ?></span></td>
</tr>
<?php endforeach; ?>
截圖如下:
- 2 回答
- 0 關(guān)注
- 103 瀏覽
添加回答
舉報