A sparse array is an array in which the elements do not occupy a contiguous range of indices. In other words, there are gaps (or "holes") between the elements in the array, where some indices have no corresponding value assigned to them.
Including an extra comma in an array literal signifies an empty slot in the array, thus creating a sparse array. An empty slot is not the same as a slot filled with the `undefined` value. In some operations, empty slots behave as if they are filled with `undefined` but are skipped in others.
While this is a well-defined behavior, it can be misleading and raises suspicions about the original intent: an extra comma was intentionally inserted, or perhaps the developer meant to insert the missing value but forgot.
=== on 8 Nov 2017, 09:56:07 Michael Gumowski wrote:
Removing PHP from the list of targeted language. You can not declare sparse arrays in PHP. The following code does not compile:
----
$array = [1, 2, 3, , 4];
----
However, sparse arrays can also be seen as a feature of the language. In the following code, the array is defined with 3 values, but the internal representation of the array is a map, which will use 3 keys: ``++14++``, ``++15++`` and ``++42++``.