[WordPress] 多くの php の ifelse ステートメントに代替ソリューション

スポンサーリンク

Question

私のワードプレスのサイトで作ったので、ユーザー設定フィールドに特定の文字列と一致するかどうか、特に (fontawesome) アイコンが表示されます。ここでは、関連するコード:

     

 ';
} elseif($department == "Client Delivery"){echo ' ';
} elseif($department == "Implementation"){echo ' ';
} elseif($department == "Sales"){echo ' ';
} elseif($department == "Executive"){echo ' ';
} elseif($department == "IT"){echo ' ';
}
?>

今これは、完璧に動作しますが私はちょうど知って、これを達成するためにより良い方法があるそれループまたは連想配列を使用するいると信じています。両方に見たが私は怖い、その周りに頭を得ることができない主な理由はエコー、いもは、通常 1 つだけの条件によって異なります

答え

$values = array(
    'Marketing' => 'fa-paint-brush',
    'Client Delivery' => 'fa-headphones',
    ...
);

echo ' ';

答え

あなた

$department

のため switch ステートメント を使用してください

  switch ($department) {
    case 0:
        echo "$department equals 0";
        break;
    case 1:
        echo "$department equals 1";
        break;
    case 2:
        echo "$department equals 2";
        break;
   }

の答え

多分

switch

ステートメントを使用して、それらを使用する傾向があります。あなた自身のため参照してください:

    switch($department) {
          case "Marketing":
              echo "foo";
              break;
          case "Client Delivery":
              echo "bar";
              break
          default:
              echo "Not found";
    }

、これらは非常に素晴らしい仕事します。場合は何も間違っている他/

答え

マーケティングのための

mark

のような部門の価値のフラグメントを含むクラス名を作ってみてください。部文字列をトリミングし、html に挿入します。

答え

     

 ';
        break;
    }
    case "client delivery" : {
        echo ' ';
        break;
    }
    // ... finish all of your cases
    default : {
        echo "Unknown department received : " .  $department ."";
    }
}
?>

http://stackoverflow.com/questions/27784672/the-alternative-solution-to-lots-of-ifelse-statements-in-php

スポンサーリンク

Leave a Reply