一个新手风格的问题,我很害怕。我想知道是否有人可能会告诉我在以下情况下最佳做法是什么。
应该是......
function submitted_data()
{
//Testing user data
if(userdata != correctlyentered)
{
display_form(errors);
}
//Submit verified data to server
}
在这种情况下,从display_form
内部调用submitted_data
时的正确语法是什么,因为当我不想要它时,它会继续将数据提交给服务器。
或者应该是......
function submitted_data()
{
//Testing user data
if(userdata != correctlyentered)
{
display_form(errors);
}
else
{
//Submit verified data to server
}
}
或者没有任何区别?
感谢。
答案 0 :(得分:2)
你的第二个例子是有效的:
function submitted_data();
{
//Testing user data
if(userdata != correctlyentered)
{
display_form(errors);
}
else
{
//Submit verified data to server
}
}
要“退出”某个功能,请使用return
。可以这样做:
function submitted_data();
{
//Testing user data
if(userdata != correctlyentered)
{
display_form(errors);
return;
}
//Submit verified data to server
}
答案 1 :(得分:1)
如果你不使用else语句并且不在if中写一个return语句,那么第一个例子将在每种情况下都向服务器提交数据。
答案 2 :(得分:1)
如果您想退出某项功能,则需要return
。
通常情况下,如果您因为检测到问题而退出某个功能 - 您将return false
,这样您就可以编写代码,如果该函数向您发回0 / false结果。
如果您的功能按照您的意愿运行,请使用return true
,这样您就可以编写功能,当功能完成应该没有问题的时候做什么。
当然你可以返回其他东西 - 我个人试图避免在函数中使用'echo',以便我可以选择在不同的情况下保存或输出数据。
所以:
function myFunction() {
$result = "something happened";
return $result;
}
echo myFunction();
最好是:
function myFunction() {
$result = "something happened";
echo $result;
return true;
}
因为我可以调用myFunction来测试它而不必显示结果,或者我可以选择显示结果。两只鸟被杀,一块石头被使用。
答案 3 :(得分:0)
首先,不要在函数声明后添加分号。
无论如何,这完全取决于你想要做什么。如果添加else(第二个块),代码将仅在userdata != correctlyentered
为FALSE时运行。如果你不添加else(第一个块),代码将始终运行。
编辑:
要退出某个功能,您可以使用return
。
if(userdata != correctlyentered)
{
display_form(errors);
return;
}
答案 4 :(得分:0)
我认为在这种情况下,您应该选择{}
中代码嵌套最少的变体function submitted_data()
{
//Testing user data
if(userdata != correctlyentered)
{
display_form(errors);
return;
}
//Submit verified data to server
}