如何将1
作为#2的输出?
#1
我运行了这段代码
echo validate_email ( $email );
echo validate_password ( $password );
echo validate_username ( $username );
我得到了
111
这意味着一切都好。
#2
我运行这段代码
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
。
发布于 2009-08-23 22:29:53
作为输出,您什么也得不到,因为您只是返回1
,而不是实际回显它。除非您告诉PHP这样做,否则不会对用户产生回声。
示例:
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) //更正电子邮件
发布于 2009-08-23 22:30:43
在第一个示例中,回显每个函数的输出。在第二个示例中,如果它们都等于1,则返回1。
返回某物并不会输出给STDOUT。如果你想要的话你就得回音。
https://stackoverflow.com/questions/1319745
复制相似问题