2 回答

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

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
您需要獲取每個(gè)字段的交易。這里:https ://www.php.net/manual/en/function.fgetcsv.php
我正在使用完全相同的 CSV 文件并為面試制定了解決方案??梢栽谝韵骆溄由蠝y(cè)試 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)注
- 129 瀏覽
添加回答
舉報(bào)