[解決済み] twig: 複数の条件を持つIF
2022-06-05 16:55:47
質問
twigのif文に問題があるようです。
{%if fields | length > 0 || trans_fields | length > 0 -%}
エラーは
Unexpected token "punctuation" of value "|" ("name" expected) in
なぜこれが動かないのか理解できない、まるでtwigが全てのパイプで失われたようだ。
私はこれを試しました.
{% set count1 = fields | length %}
{% set count2 = trans_fields | length %}
{%if count1 > 0 || count2 > 0 -%}
が、ifも失敗します。
次にこれを試してみました。
{% set count1 = fields | length > 0 %}
{% set count2 = trans_fields | length > 0 %}
{%if count1 || count2 -%}
そして、それはまだ動作しません、毎回同じエラーが発生します.
それで...それは本当に単純な質問に私を導きました: Twigは複数条件のIFをサポートしていますか?
どのように解決するのですか?
私の記憶が正しければ、Twig は
||
と
&&
演算子が必要ですが
or
と
and
をそれぞれ使用します。また、技術的には必須ではありませんが、2つのステートメントをより明確に示すために括弧を使用します。
{%if ( fields | length > 0 ) or ( trans_fields | length > 0 ) %}
表現方法
Expressions can be used in {% blocks %} and ${ expressions }.
Operator Description
== Does the left expression equal the right expression?
+ Convert both arguments into a number and add them.
- Convert both arguments into a number and substract them.
* Convert both arguments into a number and multiply them.
/ Convert both arguments into a number and divide them.
% Convert both arguments into a number and calculate the rest of the integer division.
~ Convert both arguments into a string and concatenate them.
or True if the left or the right expression is true.
and True if the left and the right expression is true.
not Negate the expression.
より複雑な操作の場合、混乱を避けるため、個々の式を括弧で囲むとよいでしょう。
{% if (foo and bar) or (fizz and (foo + bar == 3)) %}
関連
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み】空の配列要素を削除する
-
[解決済み】++と*+の意味は何ですか?
-
[解決済み】メンバ関数をnullで呼び出す?
-
[解決済み】In_arrayが動作しない。
-
[解決済み】警告: file_get_contents(): https:// ラッパーがサーバー構成ですべて無効になっています。
-
[解決済み] mysql_field_nameを新しいmysqliに変更します。
-
[解決済み] PHP 未定義関数への呼び出し
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
-
[解決済み] Twigから配列の要素を設定する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Fatal error: 未定義の関数 sqlsrv_connect() を呼び出した。
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: バインドされた変数の数が102行目のトークンの数と一致しない [終了]
-
[解決済み】「Fatal error: Class 'MySQLi' not found "を解決するには?
-
[解決済み】PHPの予期しないT_VARIABLEとは何ですか?
-
[解決済み] * vchiqインスタンスを開くのに失敗しました。
-
thinkphp5 timestamp 非整形の数値に遭遇した。
-
[解決済み】書き込みコンテキストでメソッドの戻り値を使用することができない
-
[解決済み】mysqli::query(): mysqli をフェッチできない
-
[解決済み] libapache2-mod-php7 パッケージの場所がわからない