[解決済み] 変数にデフォルト値を与える最良の方法(Perlのシミュレーション||, ||= )
2022-05-02 10:42:19
質問
Perlでこういうことをするのが好きなんです。
$foo = $bar || $baz
を代入して
$baz
に
$foo
もし
$bar
は空か未定義です。また
$foo ||= $bletch
を割り当てるだけです。
$bletch
に
$foo
もし
$foo
が定義されていない、または空である場合。
このような状況での三項演算子は、面倒で疲れる。きっとPHPにはシンプルでエレガントな方法があるのでしょう?
それとも、isset()を使ったカスタム関数が唯一の答えなのでしょうか?
どのように解決するのですか?
PHP 7 では、ようやくこれをエレガントに実行する方法があります。これは Null合体演算子 . こんな風に使うことができます。
$name = $_GET['name'] ?? 'john doe';
と同等です。
$name = isset($_GET['name']) ? $_GET['name']:'john doe';
関連
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。
-
[解決済み] mysql_field_nameを新しいmysqliに変更します。
-
[解決済み] Python argparse: デフォルト値または指定された値
-
[解決済み] 最近のPerlはなぜデフォルトでUTF-8を避けるのですか?
-
[解決済み] 配列の最後の要素を削除せずに取得する最適な方法は?
-
[解決済み] 既存のカラムにデフォルト値を設定する方法
-
[解決済み] Doctrineのデフォルト値
-
[解決済み】Javaの'boolean'と'Boolean'のデフォルト値について
-
[解決済み】MySQLでテキストカラムにデフォルト値を設定できないのはなぜですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] Fatal error: メンバ関数bind_param()のbooleanに対する呼び出し [重複] [重複
-
[解決済み】予期せぬ例外。SQLSTATE[HY000] [1045] Access denied for user ****@'localhost' (using password: YES)
-
[解決済み] * vchiqインスタンスを開くのに失敗しました。
-
[解決済み】file_get_contents( )が動作しない。
-
[解決済み】/var/www/htmlとは何ですか?[クローズド]
-
[解決済み】Wordpressの子テーマのstyle.cssが効かない。
-
[解決済み] SSLエラー SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました。
-
[解決済み] mysql_field_nameを新しいmysqliに変更します。
-
[解決済み] PHP 未定義関数への呼び出し
-
[解決済み] 致命的なエラーです。mysqli_result 型のオブジェクトを使用できません [終了] 。