meleyal meleyal - 3 months ago 7
PHP Question

How do you reindex an array in PHP?

I have the following array, which I would like to reindex so the keys are reversed (ideally starting at 1):

Current array (edit: the array actually looks like this):

Array (

[2] => Object
(
[title] => Section
[linked] => 1
)

[1] => Object
(
[title] => Sub-Section
[linked] => 1
)

[0] => Object
(
[title] => Sub-Sub-Section
[linked] =>
)

)


How it should be:

Array (

[1] => Object
(
[title] => Section
[linked] => 1
)

[2] => Object
(
[title] => Sub-Section
[linked] => 1
)

[3] => Object
(
[title] => Sub-Sub-Section
[linked] =>
)

)

Answer

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:

Comments