Table of Content
The sizeof function in PHP exists to help developers know how many items an array holds.
Understand the sizeof Function in PHP
The sizeof in PHP returns the number of elements in an array.
Here is the syntax:
sizeof(array, mode);- array: The input array to measure.
- mode: Optional. You can use
COUNT_RECURSIVEto include elements in subarrays.
It returns an integer that matches the count of elements. If the array is empty, it returns 0.
Here is a quick example:
$items = ["pen", "book", "table"];
echo sizeof($items);This example outputs 3 because the array holds three items. PHP counts each main element only. It does not check inside other arrays unless you set recursive mode.
The sizeof helps when code logic depends on the array size. You can use it to limit loops or control how many times a process runs. It also acts as a fast way to check if array indexes exist before using them.
Use the sizeof Function in Arrays
Indexed arrays use numeric keys:
$fruits = ["apple", "mango", "banana"];
echo sizeof($fruits);This returns 3 because the array has three values linked to keys 0, 1, and 2.
Associative arrays use named keys:
$user = ["name" => "Ali", "age" => 25];
echo sizeof($user);It returns 2 because two key-value pairs exist in the array.
Multidimensional arrays hold arrays inside them:
$data = [
["red", "green"],
["blue", "yellow"]
];
echo sizeof($data);This returns 2 because it counts only the top-level elements unless COUNT_RECURSIVE is set.
The sizeof works with objects that implement Countable:
class MyData implements Countable {
public function count() {
return 5;
}
}
$obj = new MyData();
echo sizeof($obj);This returns 5 because the object’s count() method sets that value.
If the variable is null or an empty array, sizeof returns 0. This stops errors when you count
So, how to handle null or empty arrays with sizeof?
Before PHP 8:
- If you used
sizeof()on something that is not an array or countable object, it returned 1. - If it was
NULL, it returned 0.
From PHP 8 onward:
- Using
sizeof()on anything that is not an array or a countable object will give an error instead of returning 1. - So using it on a number, string, or normal object now causes a TypeError.
The Differences Between sizeof and count
The sizeof is an alias of count. Both behave the same way in normal use. Developers often choose one based on style or readability.
Here is a table that shows you the key differences:
| Feature | sizeof | count |
|---|---|---|
| Purpose | Alias of count | The primary function used to count |
| Syntax | sizeof(array, mode) | count(array, mode) |
| Return Value | Number of elements | Number of elements |
| Use Case | Same as count | Same as sizeof |
You can use either function. However, count is more common in most PHP code.
Examples of sizeof Function in PHP
Count the Indexed Array Items:
$colors = ["red", "blue", "green", "yellow"];
echo sizeof($colors);This returns 4 because there are four elements in the array. It counts only top-level values and does not check inside subarrays.
Recursive Count for Multidimensional Array:
$data = [
["pen", "pencil"],
["book", "paper"]
];
echo sizeof($data, COUNT_RECURSIVE);This returns 6 because it counts each subarray item along with the top-level arrays.
Count Items in an Object:
class Box implements Countable {
public function count() {
return 8;
}
}
$box = new Box();
echo sizeof($box);This returns 8 because the count() method defines the value returned by sizeof.
Handle Null Variable:
$var = null;
echo sizeof($var);This will show you an error. Here is the output:
Uncaught TypeError: sizeof(): Argument #1 ($value) must be of type Countable|array, null given in /index.php
Wrapping Up
In this article, you learned how sizeof works in PHP and how it can count elements in arrays and objects.
Here is a quick recap:
sizeofreturns the number of elements in an array orCountableobject.- It is an alias of
countand both work the same way. - Use it to check the array size before running loops or other logic.
- It works with indexed, associative, and multidimensional arrays.
FAQs
How to use sizeof to count array elements in PHP?
$array = array("apple", "banana", "orange");
$count = sizeof($array);
echo $count; // Output: 3
What is the difference between sizeof and count in PHP?
$array = array("red", "green", "blue");
echo sizeof($array); // 3
echo count($array); // 3
Can sizeof handle multidimensional arrays?
$array = array(
"fruits" => array("apple", "banana"),
"colors" => array("red", "blue")
);
echo sizeof($array); // 2
echo sizeof($array, COUNT_RECURSIVE); // 6
Similar Reads
If you are working with PHP and need a way to confirm if something is indeed a file, the is_file function will…
PHP comparison operators allow you to compare values in many ways, and this simplifies the process of checking whether values…
The PHP array_intersect function finds common values in arrays and returns matches as a new array. Understand the array_intersect in…
In some cases, you need to handle a lot of data or simply try to open a file, or read…
If you start working with PHP, it won't take you that long to figure out that strings are everywhere. Besides…
pplications. Such As as From registering new users to collecting form submissions and storing product details. Things like adding a…
The variable scope in PHP refers to the variables, functions, and classes that can be accessed within different parts of…
One of the first tasks you will likely encounter is creating a table in databases. Tables are the main part…
MySQL Prepared Statements in PHP are an important tool for ensuring security and optimization. They safeguard against SQL injection attacks,…
PHP array_find was released in PHP 8.4 to locate a value inside an array and returns the first match. Understand…