Introduction
One of the more common mistakes I have seen in PHP OOP is the incorrect use of sizeof. Unless your class or object implements the Countable Interface, you must convert your object to an array to use sizeof/count on it. The following is directly from PHP.net's Manual:
Returns the number of elements in var. If var is not an array or an object with implemented Countable interface, 1 will be returned. There is one exception, if var is
NULL,0will be returned.
Sizeof/Count Example
Below, we will take a query result, convert to object and typecast to an array:
// Query the database and return 20 rows
$result = $mysqli->query("SELECT Name FROM City LIMIT 20");
// Assign the DB results to $obj
$obj = $result->fetch_object();
// Typecast array to $obj
if( sizeof( (array) $obj ) > 10 ){
echo "$obj is greater than 10";
}