如何利用php严格模式写出理想的代码
php限定类型 1 2 3 4 5 6 7 8 9
| function returnIntByBool(bool $param):int { if($param){ $result = 1; } else { $result = 2; } return $result; }
|
php严格模式开启 1
| declare (strict_types = 1);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| <?php declare (strict_types = 1);
function returnArr($param) : array { if ($param) { return []; } }
try { var_dump(returnArr(1)); } catch (\Throwable $e) { echo ($e->getMessage()); }
try { var_dump(returnArr(0)); } catch (\Throwable $e) { echo ($e->getMessage() . PHP_EOL); }
function returnArrByBoolean(bool $param) : array { if ($param) { return []; } }
try { var_dump(returnArrByBoolean(1)); } catch (\Throwable $e) { echo ($e->getMessage() . PHP_EOL); }
try { var_dump(returnArrByBoolean(true)); } catch (\Throwable $e) { echo ($e->getMessage() . PHP_EOL); }
function returnArrayByBooleanUseFormat(bool $param) : array { $result = []; if ($param) { $result = ['param' => true]; } return $result; }
try { var_dump(returnArrayByBooleanUseFormat(true)); } catch (\Throwable $e) { echo ($e->getMessage() . PHP_EOL); }
try { var_dump(returnArrayByBooleanUseFormat(false)); } catch (\Throwable $e) { echo ($e->getMessage() . PHP_EOL); }
|