我讀取了一個包含這些值的csv文件:; ;WH;391;M;9353970157191;A1124;0010;TU;1; ;7/1/2019;0;0;; ;WH;391;M;9353970157214;A1119;0090;TU;1; ;7/1/2019;0;0;....最后,我得到了一個.txt文件,如下所示: MMXC1_|A0391|9353970395487|0|0 MMXC1_|A0391| |1|0 //$SKU_EAN NULL MMXC1_|A0391|9353970394879|4|2...但有時$SKU_EAN 為 NULL,因為它沒有相應的sku_code我想從我的.txt文件中排除$SKU_EAN為空的行,并將它們與sku_code以及csv文件中相應行的編號一起顯示在屏幕上,我該怎么做?$resultat = mysqli_query($bdd, "SELECT trim(concat(concat(SKU_ITEM_VARIANT,'_'),trim(SKU_SIZE)))as sku_code , SKU_EAN FROM dwh_dev.dwh_d_sku"); while ($donnees[] = mysqli_fetch_assoc($resultat)) { // var_dump($donnees); //array(1) { [0]=> array(2) { ["sku_code"]=> string(13) "A1101_0090_TU" ["SKU_EAN"]=> string(13) "9346799868270" } } array(2) { [0]=> array(2) { ["sku_code"]=> string(13) "A1101_0090_TU" ["SKU_EAN"]=> string(13) "9346799868270" }....} $constante = "MMXC1_";$temp = array_column($datas_mag, 'MAGCOD', 'MAGAS400');$temp2 = array_column($donnees, 'SKU_EAN', 'sku_code'); if (($handle = fopen("$nomcsv", "r")) !== FALSE) { $firstLine = true; while (($data = fgetcsv($handle, 1000000, ";")) !== FALSE) { if(!$firstLine) { $EAN = 'A'.$temp[$data[3]]; $SKU_EAN = $temp2[$data[6].'_'.$data[7].'_'.$data[8]]; var_dump($SKU_EAN); //string(13) "9353970395487" string(13) "9346799046166" NULL NULL string(13) "9346799046756"...$data_final[] = $constante.'|'.$EAN.'|'.$SKU_EAN.'|'.$data[12].'|'.$data[13]; var_dump($data_final); //array(1) { [0]=> string(30) "MMXC1_|A0391|9353970395487|0|0" } } $firstLine = false; } } $cheminfile = "//alcyons/IT/PhotoShoot/retail/CSV/TXT_Finaux/MMX".date('His').".txt"; $fp = fopen("$cheminfile", "w"); foreach($data_final as $data){ fwrite($fp,$data."\n"); } fclose($fp);
1 回答

呼啦一陣風
TA貢獻1802條經驗 獲得超6個贊
試試這個
我假設您的注釋是單個示例值,因此添加以下行應跳過此值為 null 的迭代。$SKU_EAN
if(is_null($SKU_EAN)) continue;
完整代碼:
$i = 1;
while(($data = fgetcsv($handle, 1000000, ";")) !== FALSE) {
$i++;
if(!$firstLine) {
$EAN = 'A'.$temp[$data[3]];
$SKU_EAN = $temp2[$data[6].'_'.$data[7].'_'.$data[8]];
if(is_null($SKU_EAN)) {
echo 'Can\'t find SKU_EAN for iteration number: ' . $i . '<br />';
continue;
}
$data_final[] = $constante.'|'.$EAN.'|'.$SKU_EAN.'|'.$data[12].'|'.$data[13];
}
$firstLine = false;
}
- 1 回答
- 0 關注
- 170 瀏覽
添加回答
舉報
0/150
提交
取消