2014-04-05 109 views
0

解决的问题:这是解决方案:

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] 
} 

我在做一个学校项目,打那种为突起。

我创建了一个功能,我想它要么返回“真”(布尔)或“假”(布尔)+变量。

我搜索网颇有几分,但wan't能够找到一种简单的方法来做到这一点。

有没有办法解决这个问题? //感谢

工作正常,但是当它返回变量的功能 - 它也假定函数返回“真”时,我希望它返回false +类似的值:

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 
} 

b即使第一条语句是假的,那么它也会返回变量 - 假设函数为真。

+0

你不能在一个返回值中返回2个值,但是你可以把这些值封装在一个数组中然后返回。 –

+1

返回一个'阵列(真实的,$值);'或通过2个值[参考](http://www.php.net/manual/en/language.references.pass.php) – pNre

+0

感谢 - 如何检查第一个值并返回第二个值? – Jimmy

回答

0

你可以尝试返回-1真和其他假以减少返回值的量。下一个选项是返回数组值。另一个选项是在函数中传递参考变量。

+0

THX会真的 - 我如何检查的第一个值,如果假 - 返回第二个数组值:如果(testCoreq()) { //做一些 } 其他 {// 返回变量 } – Jimmy

+0

可以将结果保存到变量,然后检查它,或者用'做immadiately如果(testCoreq()[0])'如果你像'array(true,$ value)一样返回数组;' – sunshinejr

+0

谢谢 - 让它工作。发布上面的工作代码 – Jimmy