2017-01-03 118 views
0

我有一個數組。在該數組中,我的Fruit_Name可以是Pear或Apple,具體取決於我在前一頁中選擇的按鈕。比方說,我選擇蘋果,如果聲明似乎不起作用,但它確實回聲。它回聲$FruitType,它似乎得到蘋果,應該引發我的if語句,並告訴我「你做到了!」,但我的條件不。我究竟做錯了什麼?如果條件等於數組值

陣列

Fruit_Name =蘋果

我的功能

function GetField($arr, $field) 
    { 
     $result = '  '; 
     foreach($arr as $line) 
     { 
      if (explode('=', $line) [0] == $field) 
      { 
       $result = explode('=', $line) [1]; 
      } 

     } 

     return $result; 
    } 

    $FruitType= GetField($array, 'Fruit_Name'); 

    echo $FruitType; 

    if ($FruitType == "Apple") 
    { 
     echo "You did it!"; 
    } 
    else if ($FruitType == "Pear") 
    { 
     echo "Its not Pear!"; 
    } 
+2

'if(explode('=',$ line)[0] == $ field)'那不會像你想象的那樣工作 –

+0

我想看看那個。謝謝。 – taji01

+0

你所說的數組只是一個字符串,所以foreach不會工作 –

回答

0

當PHP比較字符串(真的,你應該與任何數據類型做到這一點),你必須使用===表示法。 ==僅用於數字,當用於字符串時會導致出現像您所面對的問題。

所以,你的代碼應該是

If ($FruitType === "Apple")

而且getfield命令的功能是不正確,如提及和解釋袞。