147

I have a PHP array that looks like this:

[3] => Hello
[7] => Moo
[45] => America

What PHP function makes this?

[0] => Hello
[1] => Moo
[2] => America

4 Answers 4

313

The array_values() function [docs] does that:

$a = array(
    3 => "Hello",
    7 => "Moo",
    45 => "America"
);
$b = array_values($a);
print_r($b);
Array
(
    [0] => Hello
    [1] => Moo
    [2] => America
)
Sign up to request clarification or add additional context in comments.

1 Comment

thank you , this is super handy for my case that converted iterator to array from an SPL but I need the result to be indexed from 0
7

If you want to reset the key count of the array for some reason;

$array1 = [
  [3]  => 'Hello',
  [7]  => 'Moo',
  [45] => 'America'
];
$array1 = array_merge($array1);
print_r($array1);

Output:

Array(
  [0] => 'Hello',
  [1] => 'Moo',
  [2] => 'America'
)

Comments

7

you can use for more efficient way :

$a = [
    3 => "Hello",
    7 => "Moo",
    45 => "America"
];

$a = [...$a];

Comments

6

Use array_keys() function get keys of an array and array_values() function to get values of an array.

You want to get values of an array:

$array = array( 3 => "Hello", 7 => "Moo", 45 => "America" );

$arrayValues = array_values($array);// returns all values with indexes
echo '<pre>';
print_r($arrayValues);
echo '</pre>';

Output:

Array
(
    [0] => Hello
    [1] => Moo
    [2] => America
)

You want to get keys of an array:

$arrayKeys = array_keys($array);// returns all keys with indexes
    echo '<pre>';
    print_r($arrayKeys);
    echo '</pre>';

Output:

Array
(
    [0] => 3
    [1] => 7
    [2] => 45
)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.