Created
April 10, 2019 06:55
-
-
Save mugyu/4a654a67922a53809bc4212b949f7d57 to your computer and use it in GitHub Desktop.
PHPに於けるNull合体演算子とエルビス演算子
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// ?? - null合体演算子(左辺がnull or 未定義の場合に右辺を返す) | |
// ?: - エルビス演算子(左辺がfalseとequalityな場合に右辺を返す) | |
unset($hoge); | |
$hoge = ($hoge ?? 1) ?: 2; | |
var_dump($hoge); | |
$hoge = NULL; | |
$hoge = ($hoge ?? 1) ?: 2; | |
var_dump($hoge); | |
$hoge = FALSE; | |
$hoge = ($hoge ?? 1) ?: 2; | |
var_dump($hoge); | |
$hoge = 0; | |
$hoge = ($hoge ?? 1) ?: 2; | |
var_dump($hoge); | |
$hoge = 10; | |
$hoge = ($hoge ?? 1) ?: 2; | |
var_dump($hoge); | |
// => int(1) | |
// => int(1) | |
// => int(2) | |
// => int(2) | |
// => int(10) | |
echo "---------------------------------\n"; | |
// like | |
unset($hoge); | |
if ( ! isset($hoge)) { | |
$hoge = 1; | |
} elseif ($hoge == FALSE) { | |
$hoge = 2; | |
} | |
var_dump($hoge); | |
$hoge = NULL; | |
if ( ! isset($hoge)) { | |
$hoge = 1; | |
} elseif ($hoge == FALSE) { | |
$hoge = 2; | |
} | |
var_dump($hoge); | |
$hoge = FALSE; | |
if ( ! isset($hoge)) { | |
$hoge = 1; | |
} elseif ($hoge == FALSE) { | |
$hoge = 2; | |
} | |
var_dump($hoge); | |
$hoge = 0; | |
if ( ! isset($hoge)) { | |
$hoge = 1; | |
} elseif ($hoge == FALSE) { | |
$hoge = 2; | |
} | |
var_dump($hoge); | |
$hoge = 10; | |
if ( ! isset($hoge)) { | |
$hoge = 1; | |
} elseif ($hoge == FALSE) { | |
$hoge = 2; | |
} | |
var_dump($hoge); | |
// => int(1) | |
// => int(1) | |
// => int(2) | |
// => int(2) | |
// => int(10) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment