簡體   English   中英

如何在PHP中的if else語句中采用變量

[英]How to take a variable inside if else statement in PHP

我試圖在if / else語句中使用一個值,並使用“那個變量”發送錯誤消息,因為我不希望我的輸入超過99個字符。

這是代碼:

if(empty($x) || empty($y) || empty($z)){

$_SESSION["ErrorMessage"]="You have to fill all the blanks.";
redirect_to("addxyz.php");


} elseif(strlen($x)>99 || strlen($y)>99 || strlen($z)>99){

$_SESSION["ErrorMessage"]="Very Long  Name for /*variable name will be here*/";
redirect_to("addxyz.php");

}  else {/*Rest of the code*/}

在第二部分中,當我將strlen函數與變量一起使用時,我需要使用數組或任何其他方式選擇其中之一,但不要使用3個不同的if / else語句。 最好的方法是什么?

提前致謝。

您可以使用三個變量創建一個數組,然后使用foreach循環對其進行驗證。 即使在相同的foreach循環中,您也可以進行第一個驗證:

foreach(array($x, $y, $z) as $values) {//---> the $values variable represents each of your '$x, $y, $z' variables in the loop.
    if (empty($values)) {
        $_SESSION["ErrorMessage"]="You have to fill all the blanks.";
        redirect_to("addxyz.php");

    } else if (strlen($values) > 99) {
        $_SESSION["ErrorMessage"]="Very Long  Name for $values";//---> This will notify the first value that fails the validation.
        redirect_to("addxyz.php");
    }
}

如果一個以上的值未能通過驗證(例如$x$z ),並且您想全部通知它們,則可以將$values值保存在數組中,然后顯示出來。 像這樣:

$strlenErrors = array();
foreach(array($x, $y, $z) as $values) {
    if (strlen($values) > 99) {
        $strlenErrors[] = $values;
    }
}

if (!empty($strlenErrors)) {
    $_SESSION["ErrorMessage"]="Very Long  Name for: ".implode(", ", $strlenErrors);//---> This will divide and print the '$strlenErrors' array by commas.
    redirect_to("addxyz.php");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM