How do you reindex an array in PHP but with indexes starting from 1?
If you want to re-index starting to zero, simply do the following:
$iZero = array_values($arr);
If you need it to start at one, then use the following:
$iOne = array_combine(range(1, count($arr)), array_values($arr));
Here are the manual pages for the functions used:
Here is the best way:
# Array$array = array('tomato', '', 'apple', 'melon', 'cherry', '', '', 'banana');
that returns
Array( [0] => tomato [1] => [2] => apple [3] => melon [4] => cherry [5] => [6] => [7] => banana)
by doing this
$array = array_values(array_filter($array));
you get this
Array( [0] => tomato [1] => apple [2] => melon [3] => cherry [4] => banana)
Explanation
array_values()
: Returns the values of the input array and indexes numerically.
array_filter()
: Filters the elements of an array with a user-defined function (UDF If none is provided, all entries in the input table valued FALSE will be deleted.)