-1

本当に奇妙な構文の問題があります。これが機能しない理由を誰か教えてもらえますか:

if ( ! is_single() || ! is_archive() )

しかし、これは: if ( ! is_single() || is_archive() )

どうすれば最初のステートメントを機能させることができますか? 前もって感謝します!

編集:答えが来たとき、私はまだ質問を編集していました。とにかく、私は a 構文を意味することを述べるべきでした。2 つのステートメントの論理が同じではないことに気付きました。そのため、!外に置く必要があります。みんなありがとう。

4

3 に答える 3

3

!(negate) 演算子は、PHP では優先順位が高くなります。そのため、2 番目の式を角かっこで囲む必要があります。

if ( ! (is_single() || is_archive()) )

期待どおりに機能させるために。

于 2013-08-28T13:29:41.020 に答える
1

これを使って

if (!(is_single() || is_archive()))
于 2013-08-28T13:30:37.550 に答える
0

あなたは、このコードが機能していないと言います...

  1. if ( ! is_single() || ! is_archive() )

...しかし、これは:

  1. if ( ! is_single() || is_archive() )

しかし、それは同じ論理ではありません。

  1. NOT is_single() OR NOT is_archive()

  2. NOT is_single() OR is_archive()

于 2013-08-28T13:38:36.833 に答える