pHp函数-测试我的变量是否存在以及是否遵守条件
我想创建一个php函数。基本上,我就是这么做的:pHp函数-测试我的变量是否存在以及是否遵守条件,php,function,conditional-statements,isset,Php,Function,Conditional Statements,Isset,我想创建一个php函数。基本上,我就是这么做的: if(isset($myvariable) AND $myvariable == "something") { echo 'You can continue'; } 这就是我想要的: if(IssetCond($myvariable, "something")) { echo 'You can continue'; } 我想要一个函数来测试变量是否存在,如果存在,它会测试条件是否得到了尊重。否则返回false 我已经尝试了很多方法,但是当
if(isset($myvariable) AND $myvariable == "something")
{
echo 'You can continue';
}
这就是我想要的:
if(IssetCond($myvariable, "something"))
{
echo 'You can continue';
}
我想要一个函数来测试变量是否存在,如果存在,它会测试条件是否得到了尊重。否则返回false
我已经尝试了很多方法,但是当$myvariable不存在时,我仍然有一个问题
function IssetCond($var, $value){
if(isset($var) AND $var == $value)
{
return true;
}
else
{
return false;
}
}
当$myvariable存在时,无论该条件是否得到遵守,它都会工作
如果你有时间帮助我,我将不胜感激
谢谢
Thomas你的想法很好,但是如果你把一个变量传递给你的函数,你就把这个变量的值传递给你的函数。如果在函数出现错误之前未设置变量,请尝试防止该错误
您可以将引用传递给函数,但如果之前未设置变量,则会导致相同的问题 您可以只传递名称,而不是变量,然后使用变量
function IssetCond($var, $value){
return (isset($$var) AND $var == $value);
}
像
if(IssetCond('myvariable', "something"))
{
echo 'You can continue';
}
我想我找到了答案,多亏了@Teko
$a = "3";
function IssetCond($var, $value){
global $$var;
if (isset($$var) && $$var == $value)
{ return true;}
return false;
}
if(IssetCond('d', 4))
{
echo 'first test'; // wont display
}
if(IssetCond("a", 3))
{
echo 'second test'; // will display
}
if(IssetCond("a", 4))
{
echo 'third test'; // wont display
}
谢谢大家 你所说的“尊重”是什么意思?你创建函数的想法的问题是,必须调用函数,并将变量传递给该函数。如果变量不存在,那么当您在函数调用中使用它的名称时,它将导致错误,因为它不存在!给你两个提示:保持
{}
在同一行-不一定有严格的PHP标准,但一个标准正在慢慢建立。其次,和
可以缩短为&&
谢谢各位,我本来想不显示错误,但这样可以避免问题@我的意思是,如果$myvariable==“something”是true@ThisGuyHasTwoThumbs如果我没有弄错的话,Riggs的意思是,如果没有检查传递的变量是否存在,那么在调用IssetCond
时会导致错误,而不是因为变量的范围