Php 检查是否有空字符串

Php 检查是否有空字符串,php,Php,我正在尝试写csv 使用此函数时,我需要检查是否没有写入其他值 我试过空的,预赛的,斯特伦的,但我总是得到一个或另一个 所以我需要签入$v->Klasifikacija如果它是空的,那么输入$v->BrojArtikla 我该怎么做 目前,我已经了解了这一点,但不明白为什么: if (strlen(trim((string)$v->Klasifikacija)) < 4) { 这是pasring XML文件的完整代码 function parsing_xml

我正在尝试写csv

使用此函数时,我需要检查是否没有写入其他值

我试过空的,预赛的,斯特伦的,但我总是得到一个或另一个 所以我需要签入
$v->Klasifikacija
如果它是空的,那么输入
$v->BrojArtikla
我该怎么做

目前,我已经了解了这一点,但不明白为什么:

if (strlen(trim((string)$v->Klasifikacija)) < 4) {
这是pasring XML文件的完整代码

            function parsing_xml($supplier_name,$xml_url,$opsi='string'){
                $xml = simplexml_load_file(utf8_encode($xml_url), 'SimpleXMLElement', LIBXML_NOCDATA);
                //$xml = simplexml_load_file($xml_url, 'SimpleXMLElement', LIBXML_NOCDATA);
                if(!$xml){echo "xml $xml_url not loaded.";exit;}
                $i=0;
                $string="";
                foreach($xml as $k=>$v){
                    $b="";
                    if($i==0){
                        foreach($v as $k1=>$v1){
                            $head[]=$k1;
                        }
                        array_push($head,"dugi_opis","meta_description","meta_tag","tax","supplier","quantity","price","Referenca");
                        //array_push($head,"dugi_opis","meta_description","meta_tag","tax","supplier","quantity","price","Referenca");
                        foreach($head as $k4=>$v4){
                            $b.= "$v4".DELIMITER;
                        }
                    }//echo $xml->$k->BrojArtikla."=>".$xml->$k->Image."<pre>".print_r($head,1)."</pre>";
                    foreach($head as $k3=>$v3){
                        if($v3=='meta_description'){$v3='Naziv';}

                        if(empty($v->$v3) or $v->$v3=="" or !isset($v->$v3)){
                            $v->$v3="|||";
                        }
                        if($v3=='tax'){
                            $b.=TAX.DELIMITER;
                            $v->$v3=TAX;
                        }elseif($v3=='supplier'){
                            $b.=$supplier_name.DELIMITER;
                            $v->$v3=$supplier_name;
                        }elseif($v3=='quantity'){
                            if($v->Status=="Dostupno"){
                            //if($v->Status=='Raspoloživo'){
                                $b.="2".DELIMITER;
                                $v->$v3=2;
                            }else{
                                $b.="0".DELIMITER;
                                $v->$v3=0;
                            }
                        }elseif($v3=='Akcija'){
                            $b.= (string) floatval($v->$v3).DELIMITER;
                            $v->$v3= (string) floatval($v->$v3);
                        }elseif($v3=='NetoPrice'){
                            $b.= (string) floatval($v->$v3).DELIMITER;
                            $v->$v3= (string) floatval($v->$v3);
                        }elseif($v3=='ListPrice'){
                            $b.= (string) floatval($v->$v3).DELIMITER;
                            $v->$v3= (string) floatval($v->$v3);
                        }elseif($v3=='Rabat'){
                            $b.= (string) floatval($v->$v3).DELIMITER;
                            $v->$v3= (string) floatval($v->$v3);
                        }elseif($v3=='price'){
                            $b.= (string) floatval($v->NetoPrice)*MARZA.DELIMITER;
                            $v->$v3=(string) floatval($v->NetoPrice)*MARZA;
                        }


                        elseif($v3=='meta_tag'){
                            $b.=$v->Klasifikacija.','.$v->Proizvodjac.DELIMITER;
                            $v->$v3=$v->Klasifikacija.','.$v->Proizvodjac;
                        }


                        elseif($v3=='Referenca'){
                            //if(empty($v->Klasifikacija)){
                            //if(strlen($v->Klasifikacija)===0){
                            ///if(preg_match('/\S/',$v->Klasifikacija)){

                            //if(isset($v->Klasifikacija) || $v->Klasifikacija === ''){
                            //if(isset($v->Klasifikacija)){
                            //if(strlen($v->Klasifikacija) < 2){

                            if(trim($v->Klasifikacija) === ''){

                            $b.=$v->BrojArtikla.DELIMITER;
                            $v->$v3=$v->BrojArtikla;


                            //$b.=$v->Klasifikacija.DELIMITER;
                           // $v->$v3=$v->Klasifikacija;

                            }else{

                            //$b.=$v->BrojArtikla.DELIMITER;
                            //$v->$v3=$v->BrojArtikla;

                            $b.=$v->Klasifikacija.DELIMITER;
                            $v->$v3=$v->Klasifikacija;


                            }

                        }









                        // ovo za sad nije potrebno
                        // elseif($v3=='dugi_opis'){
                            // $b.=$v->dugi_opis.DELIMITER;
                            // $v->$v3=$v->dugi_opis;
                        // }



                        else{
                            $b.=$v->$v3.DELIMITER;
                        }
                    }
                    $supplier_item[(string)$v->BrojArtikla]=$v;
                    $b=substr($b,0,-1);
                    $b=str_replace("'","\'",$b);
                    $b=str_replace('"','\"',$b);
                    $b=str_replace("\n"," ",$b);

                    $i++;
                    $string.="\n$b";    

                }
                if($opsi=='string'){
                    return $string;
                }elseif($opsi=='supplier_item'){
                    return $supplier_item;
                }else{
                    $z['string']=$string;
                    $z['supplier_item']=$supplier_item;
                    return  $z;
                }
            }
函数解析\u xml($supplier\u name、$xml\u url、$opsi='string')){
$xml=simplexml\u load\u文件(utf8\u编码($xml\u url),'simplexmlement',LIBXML\u NOCDATA);
//$xml=simplexml\u load\u文件($xml\u url,'simplexmlement',LIBXML\u NOCDATA);
如果(!$xml){echo“xml$xml\u未加载url.”退出;}
$i=0;
$string=“”;
foreach($xml为$k=>$v){
$b=“”;
如果($i==0){
foreach($v为$k1=>$v1){
$head[]=$k1;
}
数组推送($head,“dugi_opis”,“meta_description”,“meta_tag”,“tax”,“supplier”,“quantity”,“price”,“refereca”);
//数组推送($head,“dugi_opis”,“meta_description”,“meta_tag”,“tax”,“supplier”,“quantity”,“price”,“refereca”);
foreach($k4=>v4){
$b.=“$v4”。分隔符;
}
}//echo$xml->$k->BrojArtikla。“=>”$xml->$k->Image。“.print_r($head,1)。”;
 elseif($v3=='Referenca'){

        if(empty($v->Klasifikacija)){

        $b.=$v->BrojArtikla.DELIMITER;

        $v->$v3=$v->BrojArtikla;

        }else{

        $b.=$v->Klasifikacija.DELIMITER;

        $v->$v3=$v->Klasifikacija;

        }

    }
foreach($k3=>v3美元){ 如果($v3=='meta_description'){$v3='Naziv';} if(空($v->$v3)或$v->$v3==“”或!isset($v->$v3)){ $v->$v3=“| | |””; } 如果($v3==‘税’){ $b.=税分隔符; $v->$v3=税; }elseif($v3==‘供应商’){ $b.=$supplier\u name.DELIMITER; $v->$v3=$supplier\u name; }elseif($v3==‘数量’){ 如果($v->Status==“Dostupno”){ //如果($v->Status=='Raspoloživo'){ $b.=“2”。分隔符; $v->$v3=2; }否则{ $b.=“0”。分隔符; $v->$v3=0; } }elseif($v3=='Akcija'){ $b.=(字符串)floatval($v->$v3).DELIMITER; $v->$v3=(字符串)floatval($v->$v3); }elseif($v3=='NetoPrice'){ $b.=(字符串)floatval($v->$v3).DELIMITER; $v->$v3=(字符串)floatval($v->$v3); }elseif($v3=='ListPrice'){ $b.=(字符串)floatval($v->$v3).DELIMITER; $v->$v3=(字符串)floatval($v->$v3); }elseif($v3=='Rabat'){ $b.=(字符串)floatval($v->$v3).DELIMITER; $v->$v3=(字符串)floatval($v->$v3); }elseif($v3==‘价格’){ $b.=(字符串)floatval($v->NetoPrice)*MARZA.DELIMITER; $v->$v3=(字符串)floatval($v->NetoPrice)*MARZA; } elseif($v3=='meta_标签'){ $b.=$v->Klasifikacija.,'.$v->Proizvodjac.DELIMITER; $v->$v3=$v->Klasifikacija.,'.$v->Proizvodjac; } elseif($v3=='refereca'){ //if(空($v->Klasifikacija)){ //如果(strlen($v->Klasifikacija)==0){ ///if(预匹配('/\S/',$v->Klasifikacija)){ //如果(isset($v->Klasifikacija)| |$v->Klasifikacija==“”){ //if(isset($v->Klasifikacija)){ //如果(斯特伦($v->Klasifikacija)<2){ 如果(修剪($v->Klasifikacija)=''){ $b.=$v->BrojArtikla.DELIMITER; $v->$v3=$v->BrojArtikla; //$b.=$v->Klasifikacija.DELIMITER; //$v->$v3=$v->Klasifikacija; }否则{ //$b.=$v->BrojArtikla.DELIMITER; //$v->$v3=$v->BrojArtikla; $b.=$v->Klasifikacija.DELIMITER; $v->$v3=$v->Klasifikacija; } } //ovo za sad nije potrebno //elseif($v3=='dugi_opis'){ //$b.=$v->dugi_opis.分隔符; //$v->$v3=$v->dugi_opis; // } 否则{ $b.=$v->$v3.DELIMITER; } } $supplier_item[(字符串)$v->BrojArtikla]=$v; $b=substr($b,0,-1); $b=str_替换(“'”、“\'”、$b); $b=str_替换(“,“\”,$b); $b=str_替换(“\n”,”,$b); $i++; $string.=“\n$b”; } 如果($opsi=='string'){ 返回$string; }elseif($opsi=='supplier\u item'){ 返回$supplier\u项目; }否则{ $z['string']=$string; $z['supplier\u item']=$supplier\u item; 返回$z; } }
如果$v->Klasifikacija是一个字符串,那么试试这个

$stringValue = (string) $v->Klasifikacija;
$stringValue = trim($stringValue);
if (strlen($stringValue) == 0)) {
    // ...
}
此外,您还可以检查$v->Klasifikacija==''
$stringValue = (string) $v->Klasifikacija;
$stringValue = trim($stringValue);
if (strlen($stringValue) == 0)) {
    // ...
}
$a = "";
$b = "0";
echo empty($a), " ", empty($b), " ", strlen($a), " ", strlen($b), "\n";
//OUTPUT: 1, 1, 0, 1
if (0 == strlen(trim($v->Klasifikacija))) {}