Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PHP: null, default null, nullable and void

DQNEO
July 25, 2018

PHP: null, default null, nullable and void

PHPのnull, = null, nullable, voidについておさらいしてみよう

DQNEO

July 25, 2018
Tweet

More Decks by DQNEO

Other Decks in Programming

Transcript

  1. σϑΥϧτOVMMͱ͸ function f(int $a, int $b = null) { return

    [$a, $b]; } f(1); // [1, null] 引数を渡さなかったときのデフォルト値
  2. function f(int $a = null, int $b) { return [$a,

    $b]; } f(1,2); => [1,2] f(1); => Fatal error f(); => Fatal error 引数を渡さなかったときのデフォルト値? 第1引数を渡さないってそれ無理では?
  3. function f(int $a = null, int $b =null, in t

    $c) { } f(null, null, 1); => [null, null, 1] もはや「デフォルト値」じゃなくない? だって引数渡してるもん
  4. function f(int $a = null, int $b) { } function

    f(?int $a, int $b) { } この場合は= nullじゃなくてnullableを使おう 可読性向上!
  5. 1)1͔Βೖͬͨ৽ߏจ function f() :void { } function f() :void {

    return; } 関数が値を返さないことを宣言できる
  6. ͔͠͠OVMM஋ΛSFUVSO͢ΔͱΤϥʔ function f() :void { return null; } var_dump(f()); //Fatal

    error: A void function must not return a value 「returnの右に式を書いてはいけない」くらいの意味