在相等比较中调用的函数能否知道它与之比较的内容?

时间:2014-02-08 15:58:50

标签: php equality

是否有可能在php函数中获取string / int / function /或任何可比较的内容,如果在if语句中使用它?

function return_str($str) {
    $value = valueToCompare(); // I want to get "cat" here

    if($str == $value) {
       return $value;
    }
    else {
       return false;
    }
}
if(return_str('abc') == 'cat') {
    echo 'No "abc" is not equal to "cat".';
}

很抱歉,如果我的函数或示例有点愚蠢,这应该是较大脚本的一部分,但我最小化了它。

注意:我不想听到为什么不输入if('abc' == 'cat') ,因为我还必须处理多个变量来检查。

你有什么想法可以达到这个目的吗?请帮助我,我不太擅长这些事情。

2 个答案:

答案 0 :(得分:1)

使用第二个参数怎么样?

<?php
function return_str($str, $compare) {
  if($str == $compare) return $str;
  return false;
}
?>

答案 1 :(得分:0)

不,这是不可能的,尝试也是完全没有意义的。如果要将单个字符串与多个字符串进行比较,为什么不

if (in_array('cat', array('dog', 'cat', 'zebra')) { 
   ... cat's in there
}