[英]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.