Сбросить индекс массива PHP

110

У меня есть массив PHP, который выглядит так:

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

Какая функция PHP это делает?

[0] => Hello
[1] => Moo
[2] => America
Уолтер Джонсон
источник

Ответы:

253

array_values()Функция [ документы ] делает это:

$a = array(
    3 => "Hello",
    7 => "Moo",
    45 => "America"
);
$b = array_values($a);
print_r($b);
Array
(
    [0] => Hello
    [1] => Moo
    [2] => America
)
Джереми
источник
2

Если вы по какой-то причине хотите сбросить счетчик ключей в массиве;

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

Вывод:

Array(
  [0] => 'Hello',
  [1] => 'Moo',
  [2] => 'America'
)
Аллан Мвесигва
источник
0

Используйте функцию array_keys () для получения ключей массива и функцию array_values ​​() для получения значений массива.

Вы хотите получить значения массива:

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

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

Вывод:

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

Вы хотите получить ключи массива:

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

Вывод:

Array
(
    [0] => 3
    [1] => 7
    [2] => 45
)
Гуфран Хасан
источник