首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >理解&&在PHP -clause中

理解&&在PHP -clause中
EN

Stack Overflow用户
提问于 2009-08-23 22:27:28
回答 2查看 324关注 0票数 1

如何将1 作为#2的输出?

#1

我运行了这段代码

代码语言:javascript
运行
复制
echo validate_email ( $email );
echo validate_password ( $password );
echo validate_username ( $username );  

我得到了

代码语言:javascript
运行
复制
111

这意味着一切都好。

#2

我运行这段代码

代码语言:javascript
运行
复制
function validate ( $email, $password, $username ) {
    if (  (validate_email ( $email ) == 1)
        AND (validate_password ( $password ) == 1)
        AND (validate_username ( $username ) == 1 ) )
            return 1;
}
echo validate ($email, $password, $username );

我什么也得不到。

我试图通过将AND更改为&&来解决这个问题,但是仍然保留相同的输出。输出应该是1

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-23 22:29:53

作为输出,您什么也得不到,因为您只是返回1,而不是实际回显它。除非您告诉PHP这样做,否则不会对用户产生回声。

示例:

代码语言:javascript
运行
复制
function test() {
    if (  (validate_email ( $email ) == 1)
        AND (validate_password ( $password ) == 1)
        AND (validate_username ( $username ) == 1 ) )
            return 1;
    else
            return 0;

echo test();

此外,以下是关于if的几个要点:

  • 您可能应该使用&&而不是AND,因为前者更常见。
  • 您不需要在那里的== 1位- 1总是TRUE。示例:

如果( validate_email($email) ) //更正电子邮件

而不是:

如果( validate_email($email) == 1) //更正电子邮件

票数 6
EN

Stack Overflow用户

发布于 2009-08-23 22:30:43

在第一个示例中,回显每个函数的输出。在第二个示例中,如果它们都等于1,则返回1。

返回某物并不会输出给STDOUT。如果你想要的话你就得回音。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1319745

复制
相关文章

相似问题

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