首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PHP中的if else语句中获取变量

如何在PHP中的if else语句中获取变量
EN

Stack Overflow用户
提问于 2018-06-15 06:07:53
回答 1查看 87关注 0票数 0

我试图在if/else语句中获取一个值,并发送一个带有“该变量”的错误消息,因为我不希望我的任何输入超过99个字符。

代码如下:

代码语言:javascript
复制
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语句。最好的方法是什么?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-15 06:18:57

您可以使用三个变量创建一个数组,然后使用foreach循环对其进行验证。即使在同一个foreach循环中,您也可以进行第一次验证:

代码语言:javascript
复制
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值保存在一个数组中,然后显示它。如下所示:

代码语言:javascript
复制
$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");
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50866603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档