[英]PHP Skip First Line Of CSV If It Contains Specific Header Info
我需要檢查csv文件的第一行,以查看它是否包含列的標題(數字,名稱,金額)。 如果第一行包含這些標題,則退出文件或添加編號,名稱,金額(如果第一行不包含此信息)。
我試圖檢查第一列第一行是否包含一個數字,這意味着沒有標題。
這是我正在使用的代碼。 再次感謝您的所有幫助。
$rows = $phones = [];
if (($handle = fopen($file_tmp, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
list($phone, $name, $amount) = $data;
if(!($data = fgetcsv($handle))) {
return; //most likely empty file
}
if(!is_numeric($data[0])) {
fputcsv($handle, array('number', 'name', 'amount'));
}
$phone = str_replace(['(',')','-'], '', $phone);
$amount = str_replace(['$'], "", $amount);
$amount = sprintf('$%.2f', $amount);
// track unique phone numbers here
if (isset($phones[$phone])) {
// it's a duplicate so just ignore the entire row
continue;
}
// otherwise it's a new phone number so store it
$phones[$phone] = true;
$rows[] = [$phone, $name, $amount];
// or output directly
//echo "$phone | $name | $amount";
}
fclose($handle);
}
您有兩種選擇:
amount
字段的格式,您可以檢查任何行的值是否有效 要將“ $ 100.00”解析為PHP中的數字:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.