2017-01-03 9 views
0

私は配列を持っています。その配列の中で私のFruit_Nameは、前のページで選択したボタンに応じて、PearかAppleのいずれかになります。私はAppleを選択すると言いますが、if文はエコーしないように見えます。それは$FruitTypeにechosし、私のifステートメントを起動して "あなたがやった!"と表示しなければならないAppleになるようですが、私のif条件はありません。何が間違っているのですか?条件が配列の値と等しい場合

アレイ

Fruit_Name =アップル

My機能が

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は、間違っています。

関連する問題