2014-03-12 94 views
1

我試圖做一個函數來測試一個三角形是否有相等的邊,然後打印答案但我的函數不起作用。有任何想法嗎 ?在php函數上使用if語句

public function typeOfTriangle() 
{ 

    if ($this->lengthSideOne == $this->lengthSideTwo == $this->lengthBase) 
    {echo 'the triangle is equal'} 
); 
} 

回答

3

您無法將字符串==操作。您需要使用AND(又名&&)。

像這樣:

public function typeOfTriangle() 
{ 
    if ($this->lengthSideOne == $this->lengthSideTwo && $this->lengthSideTwo == $this->lengthBase) { 
     echo 'the triangle is equal'; 
    } 
} 
0

公共函數typeOfTriangle() {

if ($this->lengthSideOne == $this->lengthSideTwo && $this->lengthSideOne == $this->lengthBase) 
{echo 'the triangle is equal';} 

); }

0

試試這個..

public function typeOfTriangle() 
{ 

    if ($this->lengthSideOne == $this->lengthSideTwo && $this->lengthSideTwo == $this->lengthBase) 
    {echo 'the triangle is equal'} 
); 
} 
-2

您需要的變量傳遞給函數。

當你叫它做這個。 (每個數字都是一側)

typeOfTriangle(2,2,4) 

然後改變你的函數的開始來檢索這個數據並將它賦值給$ this,如下所示。

public function typeOfTriangle($side1, $side2, $side3) 
{ 

    if ($side1 == $side2 && $side2 == $side3) //this check side 1,2,3 are equal with 2 statements. 
    {echo 'the triangle is equal';} 
} 
+0

我不不知道爲什麼人們在這個時候冷靜下來rrect ... –

+3

我沒有投票,但我可以說你得到他們,因爲你不「總是」需要「傳遞參數到一個函數。我在函數聲明中看到public一詞,這意味着這可能是設置$ this-> sideX的較大類的一部分。在這種情況下,你不需要傳遞變量給函數來使用它們。 – xero

+0

我也不是一個投票,但也是什麼xero說你的原始答案仍然包括不正確的if語句(我看你現在已經改變了),你有一個語法錯誤');' –

0

錯誤是您的括號記法。

public function typeOfTriangle() { 
if($this->lengthSideOne == $this->lengthSideTwo && $this->lengthSideTwo == $this->lengthBase) { 
    echo 'the triangle is equal'; 
    } 
} 

如果您使用brances語法是:

if(...condition...) { 
    ...do stuff... 
} 

撐少條件句這樣的工作

if(...condition...) 
    ...do stuff... 

更多的信息在這裏:http://www.php.net/manual/en/control-structures.if.php

0
public function typeOfTriangle() 
{ 

    if ($this->lengthSideOne == $this->lengthSideTwo == $this->lengthBase) 
    { echo 'the triangle is equal'; } 
    // remove this); 
}