2015-11-04 108 views
0

首先,我是PHP的新手。php检查两个变量是否为空并将它们合并到一起

我想检查两个变量是否都是空的,如果是这样,合并它们togheter只显示一个结果,但如果其中一个不是空的,比我必须显示的是值。

我目前有:

$customerNotesWC = ""; 
$DYSPrintableOrderNotes = "test note"; 

这里是我试过至今代码:

function displayCustomerOrderNotes($customerNotesWC,$DYSPrintableOrderNotes){ 
    if ($customerNotesWC == "") { 
     $customerNotesWC = "(none)"; 
    } 
    if ($DYSPrintableOrderNotes ==""){ 
     $DYSPrintableOrderNotes = "(none)"; 
    } 
    if ($DYSPrintableOrderNotes == "(none)" && $customerNotesWC == "(none)"){ 
     $NotesToDisplay = "(none)"; 
    } 
    else { 
     $NotesToDisplay = $customerNotesWC . "<br/>" . $DYSPrintableOrderNotes; 
    } 
} 

不幸的是,这并不工作,因为结果是:

(none)  
Pre-sale order note 

我知道必须有更好的方法来实现这一点,任何建议将非常感激。 非常感谢

回答

2

为了让你所希望的功能只在两个值都是空白时才打印“(none)”,修正你的代码最简单的办法就是删除将任一值设置为“(none )“,并更改您的主要if语句来检查”“:

function displayCustomerOrderNotes($customerNotesWC,$DYSPrintableOrderNotes){ 
    if ($DYSPrintableOrderNotes == "" && $customerNotesWC == ""){ 
     $NotesToDisplay = "(none)"; 
    } 
    else { 
     $NotesToDisplay = $customerNotesWC . "<br/>" . $DYSPrintableOrderNotes; 
    } 
    //shouldn't there be an echo $NotesToDisplay; or return $NotesToDisplay; ? or something? 
} 
+0

我刚试过你的答案,但它仍然打印”(无)“。目前我有$ customerNotesWC空白和$ DYSPrintableOrderNotes不为空。 – Nick

+0

Ctrl Shift F5,它应该可以工作 – 2015-11-04 16:20:14

+0

好的抱歉,我的错误是我在代码中没有注意到的错误。只需修复它,它现在可以完美运行。非常感谢 – Nick