skip to Main Content

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…

2

Answers


  1. 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) {
            //
        }
    }
    
    Login or Signup to reply.
  2. 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) {
            ...
        }
    }
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search