2012-06-01 113 views
0

PLS。我對PHP非常陌生,所以請諒解。理解。 好的,就這樣吧。 。我首先想知道的是「函數和if語句是否可以在一個代碼中?」第二個是下面的代碼,只要看看註釋的位置,如果參數$ first和$ second的值相同,並且說「if」是「相同的」,那麼我應該在if語句中輸入「不是相同的「。對PHP很新穎,對學習非常感興趣。如果聲明和函數

<?php 
    function verify($first,$second) 
    { 
    echo $first . " and " . $second ; 
    } 
    echo 
    verify ("1","2"); 

    if ($first === $second) /* **NOTE: I know this is wrong cause its not working** */ 
    echo " ARE THE SAME"; 
    else 
    echo " ARE NOT THE SAME"; 
    ?> 

我認爲這是關於它。 任何人都可以幫忙嗎?

+1

很高興知道您對PHP感興趣:-)然而,請*從一本書/教程*開始,並遵循它! – 2012-06-01 04:01:28

+0

谷歌是你的朋友,因爲http://www.php.net/manual/en/ – Joshua

+0

手冊!=教程(雖然有一個*引用*方便總是很好) – 2012-06-01 04:02:56

回答

2

您的基本問題是scope之一。 verify()之外,$first$second未定義。你可以簡單地包括你的代碼的函數體中的其餘部分你想要的它會做,例如

function verify($first,$second) { 
    echo $first . " and " . $second ; 

    if ($first === $second) { 
     echo " ARE THE SAME"; 
    } else { 
     echo " ARE NOT THE SAME"; 
    } 
} 

verify("1", "2"); 

...不過是寫入到輸出緩衝器很少是個好主意功能。相反,封裝你函數內部的邏輯和離開顯示器的程序代碼,例如

function verify($a, $b) { 
    return $a === $b; 
} 

$first = '1'; 
$second = '2'; 
echo $first, ' and ', $second; 
if (verify($first, $second)) { 
    echo ' are the same'; 
} else { 
    echo ' are not the same'; 
} 
+0

好吧,現在我明白了! tnx的幫助。第二個樣本更復雜,但如果它更可取,那麼生病就隨之而來。再次感謝,真的幫助! –

0

如果你看看comparison operators你會看到===只會是真實的,如果兩個進入瓦爾是同一類型的。通常,如果函數返回true,則仍然可以使用if($returncode == 1),這是事實,而if($returncode === 1)將是錯誤的。您必須使用if($returncode === true來觸發if語句。

此外,您必須將第二個if語句放入函數中,因爲您聲明的函數變量是局部變量,這意味着它只能在函數中訪問。

0
<?php 
    function verify($first,$second) 
    { 
    if($first===$second){ 
    return "Same"; 
    } else { 
    return "Different"; 
    } 
    } 
    echo verify ("1","2"); 
    ?>