【问题标题】:PHP : Function - Return 2 variables (Boolean + $variable)PHP:函数 - 返回 2 个变量(布尔值 + $variable)
【发布时间】: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])

标签: php function return


【解决方案1】:

您可以尝试在 true 和其他为 false 时返回 -1 以减少返回值的数量。下一个选项是返回值数组。另一种选择是在函数中传递引用变量。

【讨论】:

  • thx - 我如何检查第一个值 & 如果为 false - 返回第二个数组值: if (testCoreq()) { // 做某事 } else { // 返回变量 }
  • 您可以将结果保存到变量中,然后检查它,或者如果您返回像 array(true, $value); 这样的数组,则立即使用 if(testCoreq()[0]) 进行检查
  • 谢谢 - 让它工作。在上面发布工作代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-29
  • 1970-01-01
  • 2014-04-30
  • 2021-10-29
  • 2013-03-11
  • 1970-01-01
  • 2011-03-14
相关资源
最近更新 更多