【发布时间】:2014-04-05 19:10:17
【问题描述】:
问题已解决:这是解决方案:
function testCoreq()
{
$coreqTest = makeCoreq();
if(empty($coreqTest))
{
return array(true);
break;
}
else
{
foreach ($coreqTest as $ctest)
{
if($ctest['value'] == "true")
{
return array(true);
break;
}
else
{
return array(false,$ctest['coreqID']);
}
}
}
}
if(testCoreq()[0])
{
//do something
}
else
{
return testCoreq()[1]
}
我正在做一个学校项目,但遇到了一些困难。
我创建了一个函数,我希望它返回“true”(布尔值)或“false”(布尔值)+一个变量。
我在网上搜索了很多,但无法找到一个简单的方法来做到这一点。
有什么办法可以解决这个问题吗? //谢谢
该函数工作正常,但是当它返回变量时 - 它还假设该函数在我希望它返回 false 时返回“true” + 值如下:
else
{
return $ctest['coreqID'];
return false;
}
代码如下:
function testCoreq()
{
$coreqTest = makeCoreq();
if(empty($coreqTest))
{
return true;
break;
}
else
{
foreach ($coreqTest as $ctest)
{
if($ctest['value'] == "true")
{
return true;
break;
}
else
{
return $ctest['coreqID'];
}
}
}
}
我是这样使用的:
if (testCoreq())
{
// do something
}
else
{
// return the variable
}
但即使第一条语句为 false ,它也会返回变量 - 它假设函数为 true。
【问题讨论】:
-
你不能在一次返回中返回 2 个值,但是你可以将这些值包含在一个数组中然后返回。
-
返回一个
array(true, $value);或传递2个值by reference -
谢谢 - 我如何检查第一个值并返回第二个值?
-
不能使用
return返回两个变量。正如其他所说,您可以使用return中的数组来执行此操作。 -
是的,我已经更新了我的代码 - 但是当我检查函数时 - 我如何使用数组的第一个值来测试布尔值,例如:if (testCoreq[0])