2014-02-08 55 views
1

如果在if聲明中使用它,可以在php函數中獲取string/int/function /或任何要比較的內容嗎?在平等比較中調用的函數是否可以知道它的比較對象?

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".'; 
} 

很抱歉,如果我的函數或例子有點笨,這應該是更大的腳本的一部分,但我mimimized它。

注:我不想聽你爲什麼不只需鍵入if('abc' == 'cat'),因爲我還必須處理多個變量來檢查。

你有什麼想法可以實現嗎?請幫助我,我不擅長這些事情。

+0

你究竟在做什麼*試圖在這裏做什麼?什麼是最終目標?可能有其他解決方案,但我們需要了解更多信息才能找到它們。 – Charles

+0

@Charles我只是想保存價值來比較一個變量。不關心我的代碼示例中的其他內容。 – aksu

回答

0

不,這是不可能的,而且完全沒有意義去嘗試。如果你想比較單個字符串與多個字符串,爲什麼不是

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

這顯然是一個謊言。 debug_backtrace,file_get_contents和token_get_all的組合很容易實現 – thelolcat

1

如何使用第二個參數?

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