PHP7から、エラーメッセージが少しだけわかりやすくなりました。
<?php
date("c", "foo");
このコードをPHP5で実行すると次のようなエラーが表示されます。
PHP Warning: date() expects parameter 2 to be long, string given in Command line code on line 1
第2引数はlong型だけどstring型が渡されたという、一見すると普通の内容です。しかし、「long型って何?」というのが多くのPHPユーザーの反応ではないでしょうか。筆者の知る限り、PHPマニュアルのどこにもlong型という表記は登場しません。
混乱のもとなので、PHP7ではlongという表記が全てintegerに修正されました。また、doubleという表記もfloatに統一されました。
そんなわけで、PHP7で上のコードを実行すると次のようなエラーが表示されます。
PHP Warning: date() expects parameter 2 to be integer, string given in Command line code on line 1
すごい!わかりやすい!!!