-2

テンプレート エンジンの場合は、省略形の if 条件を使用したいと思います。値が != null かどうかを確認する必要があり、true の場合は行を出力します。私が試したこと:

echo "test" ($user->affiliate_id !=null) ?   

? の後ろに何を書けばいいのかわかりません。

4

5 に答える 5

1

構文は次のようにする必要があります

echo (condition) ? write if true code part here : write else part here

つまり、あなたの場合は次のようになります

echo ($user->affiliate_id !=null) ? 'test' : 'not null'
于 2016-01-27T12:46:34.653 に答える
1

@Federincoが言及したように、それは三項演算子と呼ばれ、公式ドキュメントはここにあります:http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary

三項演算子は次のように機能します。

condition ? true branch : false branch

したがって、例は次のようになります。

$cost = isset($discount) ? $total - $discount : $total;

上記の例では、割引が設定されているかどうかを確認し、割引が設定されている場合は現在の合計から割引を削除し、そうでない場合はコストを合計に設定します。

次のように、三項演算子でできるその他の優れた機能があります。

$name = $username ?: 'Guest';

$username上記のコードでは、存在するかどうかをチェック$nameしてい$usernameます。$nameGuest

ただし、三項演算子を乱用すると可読性の問題が発生する可能性があるため、使用する場所に注意し、三項演算子が明確にならない場合は、標準の条件文の余分な行を犠牲にしないでください。それが何をしているのか。

于 2016-01-27T12:48:35.303 に答える
0

これを試して:

echo ($user->affiliate_id != null )?"test":"";
于 2016-01-27T12:46:39.723 に答える
0

あなたが欲しいのは三項演算子です

コードは次のようになります

echo "test" . (($user->affiliate_id !=null) ? 'stringToOutput ifNotNull' : 'stringToOutput if is null');

また、PHP 7 では、使用できるNull 合体演算子が導入されました。あなたはこのようにこれを行うことができます

echo 'test' . ($user->affiliate_id ?? 'ID not found!');

その場合、$user->affiliate_id が設定されていて null でない場合、「ID が見つかりません!」の代わりに出力されます。メッセージ

于 2016-01-27T12:59:05.510 に答える