PHP: count() function

PHP: Count all elements in an array

The count() function is used to count the elements of an array or the properties of an object.

Note: For objects, if you have SPL installed, you can hook into count() by implementing interface Countable. The interface has exactly one method, Countable::count(), which returns the return value for the count() function.


(PHP 4 and above)


count(array_name, mode) 


Name Description Required /
array_name Specifies the array or object to count. Required Array
mode Sets the mode of the function.
Possible values :
COUNT_RECURSIVE (or 1) : here the count() function counts the array recursively. This is useful for counting all the elements of a multidimensional array.
The default value is 0.
Optional Integer

Return value:

The number of elements in array_name.

Value Type: Array.

Note: The count() function may return 0 for a variable which is not set, but it may also return 0 for a variable that has been initialized with an empty array.
The isset() function should be used to test whether a variable is set or not.

Example :

$a[0] = 'Language';
$a[1] = 'English';
$a[2] = 'Math';
$a[3] = 'Science';
$result = count($a);
echo $result;



Pictorial Presentation:

php function reference: count() function

View the example in the browser

Practice here online :

See also

PHP Function Reference

Previous: compact
Next: current

PHP: Tips of the Day

PHP: Convert one date format into another in PHP

The second parameter to date() needs to be a proper timestamp (seconds since January 1, 1970). You are passing a string, which date() can't recognize.

You can use strtotime() to convert a date string into a timestamp. However, even strtotime() doesn't recognize the y-m-d-h-i-s format.

PHP 5.3 and up

Use DateTime::createFromFormat. It allows you to specify an exact mask - using the date() syntax - to parse incoming string dates with.

PHP 5.2 and lower

You will have to parse the elements (year, month, day, hour, minute, second) manually using substr() and hand the results to mktime() that will build you a timestamp.

But that's a lot of work! I recommend using a different format that strftime() can understand. strftime() understands any date input short of the next time joe will slip on the ice. for example, this works:

$old_date = date('l, F d y h:i:s');         // returns Saturday, January 30 10 02:06:34
$old_date_timestamp = strtotime($old_date);
$new_date = date('Y-m-d H:i:s', $old_date_timestamp);

Ref : https://bit.ly/33QzKPG