2012-02-26 10 views
2

代わりPHP XOR - if()で使用する方法?

function edit_save($data, $post_id, $post_type) 
{ 
    if (($post_type == 'A') OR ($post_type == 'B')) { 

      // do this 

    } 

の私は以下のようにXORを使用することができれば、私は疑問に思った - しかし、それは、この動作しません全体的な構文を簡素化し、2を提示する方法任意の提案...

function edit_save($data, $post_id, $post_type) 
{ 
    if ($post_type == 'A' XOR 'B') { // pseudo code 

      // do this 

    } 

を条件文の変数の潜在的なオプション?

+3

あなただけにしたり、コード内でXを追加:PHP 5.4+でも、見た目が良くなります

if (in_array($post_type,array('A','B'))) { ... } 

。 – BoltClock

+0

ありがとうございます**変数**を繰り返さずに**の方法があります、変数の2つのオプションを提示しますか? – pepe

+2

文字列が 'A' ** AND ** 'B'と同じ時間になることは理解できません... –

答えて

1

は何をしたいが、実際にあるように思えるこの:

if (in_array($post_type,['A','B'])) { 
    ... 
} 
2

Uhm?

function edit_save($data, $post_id, $post_type) 
{ 
    if (($post_type == 'A') XOR ($post_type == 'B')) { 

      // do this 

    } 
5

試してみてください。

function edit_save($data, $post_id, $post_type) 
{ 
    if (($post_type == 'A') XOR ($post_type == 'B')) { 

      // do this 

    } 

あなたのコード内で第二の文('B')は常にtrueを返します。それが機能するには完全な条件文が必要です。

関連する問題