如何将1
作为#2的输出?
我运行了这段代码
echo validate_email ( $email );
echo validate_password ( $password );
echo validate_username ( $username );
我得到了
111
这意味着一切正常。
我运行此代码
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
。
答案 0 :(得分:6)
你没有得到任何输出,因为你只是返回 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
。例如:
if ( validate_email($email) ) // correct email
而不是:
if ( validate_email($email) == 1 ) // correct email
答案 1 :(得分:2)
在第一个示例中,您回显每个函数的输出。 在第二个示例中,如果它们都等于1,则返回。
返回某些内容不会将其输出到STDOUT。如果你想要,你需要回应它。