をエコーするnull合体演算子を使用するオペレータを合体ヌルを使用することがpossiblityであり、このような一つの発現におけるエコー:エスケープ出力
if (isset($_POST['email'])) {
echo htmlspechars($_POST['email']);
}
任意の短縮形として
echo htmlspecialchars($_POST['email']) ?? '';
アイデア?
をエコーするnull合体演算子を使用するオペレータを合体ヌルを使用することがpossiblityであり、このような一つの発現におけるエコー:エスケープ出力
if (isset($_POST['email'])) {
echo htmlspechars($_POST['email']);
}
任意の短縮形として
echo htmlspecialchars($_POST['email']) ?? '';
アイデア?
パラメータが定義されていない場合null合体演算子はE_NOTICE
を放出しないであろう。
だから、htmlspecialchars()
の結果に$email = htmlspecialchars($_POST['email'] ?? '');
null合体演算子は、変数($_POST['email']
)に適用されていることを注意してないを行うことができます。
条件付き3項演算子(?:
)を使用する場合は、変数が操作される前に変数が設定されているかどうかを確認する必要があります。
if (isset($_POST['email'])) {
$email = htmlspecialchars($_POST['email'] ?: '');
}
変数をに設定されている(又は、言い換えれば、それはを定義し、NULL
は異なる値を有している)場合isset()
はTRUE
されることに注意してください。
null合体オペレータの理解を助けるために:https://stackoverflow.com/questions/34571330/php-ternary-operator-vs-null-coalescing-operator – Script47
[PHP 3者演算子とnull合体演算子の可能な重複] (https://stackoverflow.com/questions/34571330/php-ternary-operator-vs-null-coalescing-operator) – Script47