答えはイエスだと思いますが、レガシーコードで次のことをよく見ました。私は自分自身を疑っています。コミュニティに健全性チェックをお願いしています。
レガシーコード
if (is_null($result) || !$result) {
リファクタリングされたコード
if (!$result) {
注:が設定されていない場合、これにより通知がスローされることを認識して$result
います。
質問
このコードは論理的に同等ですか?
コードテスト
Not equal for ...を受け取らずに、 PHPのfalse値のすべての組み合わせでテストしました。
$false_values = array(false, 0, 0.0, '0', '', null, array(), new stdClass());
foreach ($false_values as $var) {
if (!$var != (is_null($var) || !$var)) {
echo 'Not equal for: ';
var_dump($var);
}
}
出力
$ php check.php
$