読んだものメモ 2018/02/19

読んだものメモ

背景とかはこちら

zoe3.hateblo.jp

2018/02/19

スウェーデンの「ラゴム」という考え方による時間の使い方について

blog.timecrowd.net


データ分析用Dockerコンテナ環境の作り方がまとまってるので今度試そう

qiita.com


phpのみんな大好き静的解析ツール

phan入れる途中でcomposerで管理してるライブラリの依存関係によるコンフリクトが起きてつらかった。。

qiita.com


php の min, max における null 扱いについて ふと気になって調べてみたところ、下記のようになっているようでした。

php > var_dump(min(1, null));
NULL
php > var_dump(min(0, null));
int(0)
php > var_dump(min(-1, null));
NULL

公式にも少しだけ言及がありました。

PHP: min - Manual

// 一方の値が NULL や boolean の場合、それを他の値と比較するときには、
// もう一方の値の型が何であるかにかかわらず、
// FALSE < TRUE / NULL == FALSE というルールを使います。
// 以下の例では、-10 と 10 はどちらも TRUE と評価されます。
$val = min(-10, FALSE, 10); // FALSE
$val = min(-10, NULL, 10);  // NULL

書いてある通りですが、 boolean が含まれる場合、boolean 以外の数値が強制的に boolean にキャストされ比較されるようです。 また、null の場合は false 扱いとなるようです。ちなみに同じ値の場合は引数の先のものが優先されるようです。

php > var_dump(min(null, 0));
NULL
php > var_dump(min(0, null));
int(0)
php > var_dump(min(0, null, false));
int(0)
php > var_dump(min(null, false, 0));
NULL
php > var_dump(min(false, 0, null));
bool(false)

そもそも、min, max に null とか入れるなよ、って感じですが、、