テンプレート エンジンの場合は、省略形の if 条件を使用したいと思います。値が != null かどうかを確認する必要があり、true の場合は行を出力します。私が試したこと:
echo "test" ($user->affiliate_id !=null) ?
? の後ろに何を書けばいいのかわかりません。
テンプレート エンジンの場合は、省略形の if 条件を使用したいと思います。値が != null かどうかを確認する必要があり、true の場合は行を出力します。私が試したこと:
echo "test" ($user->affiliate_id !=null) ?
? の後ろに何を書けばいいのかわかりません。
構文は次のようにする必要があります
echo (condition) ? write if true code part here : write else part here
つまり、あなたの場合は次のようになります
echo ($user->affiliate_id !=null) ? 'test' : 'not null'
@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
ます。$name
Guest
ただし、三項演算子を乱用すると可読性の問題が発生する可能性があるため、使用する場所に注意し、三項演算子が明確にならない場合は、標準の条件文の余分な行を犠牲にしないでください。それが何をしているのか。
これを試して:
echo ($user->affiliate_id != null )?"test":"";
あなたが欲しいのは三項演算子です
コードは次のようになります
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 が見つかりません!」の代わりに出力されます。メッセージ