user4158643
user4158643

Reputation: 21

PHP 7.4 - Warning: count(): Parameter must be an array

I just upgraded my PHP Version from 5.6 to 7.4. I used count() function in my page, example:

$watch_server_count  = count($watch_server);
if ($watch_server_count > 0) {
    foreach ($watch_server->table as $key=> $watch_server_rows) {

    }
}

Warning: count(): Parameter must be an array or an object that implements Countable in...

Upvotes: 2

Views: 6782

Answers (2)

Mehmet Coban
Mehmet Coban

Reputation: 11

You can try this way. is_countable

https://www.php.net/manual/en/function.is-countable.php

if ( is_countable($watch_server->table) ) {
    foreach ($watch_server->table as $key=> $watch_server_rows) {
        ...
    }
}

Upvotes: 1

Redy S
Redy S

Reputation: 372

Since PHP 7.1, you can use is_iterable before performing foreach.

(PHP 7 >= 7.1.0) is_iterable — Verify that the contents of a variable is an iterable value

https://www.php.net/manual/en/function.is-iterable.php

So the code will look like this:

if ( is_iterable($watch_server->table) ) {
    foreach ($watch_server->table as $key=> $watch_server_rows) {
        //
    }
}

Upvotes: 0

Related Questions