The expression $amount of type integer|null is loosely compared to true; this is ambiguous if the integer can be 0. You might want to explicitly use !== null instead.
In PHP, under loose comparison (like ==, or !=, or switch conditions),
values of different types might be equal.
For integer values, zero is a special case, in particular the following
results might be unexpected:
0==false// true0==null// true123==false// false123==null// false// It is often better to use strict comparison0===false// false0===null// false
Loading history...
25
else $model->increment( $counter );
26
27
return $model;
28
}
29
30
31
/**
32
* @param Model $model
33
* @param $counter
34
* @param int $amount
35
* @param bool|FALSE $allowNegative
36
* @return Model
37
*/
38
public function decrementCounter( Model $model, $counter, $amount = 1, $allowNegative = FALSE )
In PHP, under loose comparison (like
==
, or!=
, orswitch
conditions), values of different types might be equal.For
integer
values, zero is a special case, in particular the following results might be unexpected: