为了账号安全,请及时绑定邮箱和手机立即绑定

如何在.txt文件中排除NULL结果并在php中显示它们?

如何在.txt文件中排除NULL结果并在php中显示它们?

PHP
一只名叫tom的猫 2022-09-17 22:32:16
我读取了一个包含这些值的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;


}   


查看完整回答
反对 回复 2022-09-17
  • 1 回答
  • 0 关注
  • 180 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号