Сбросить ключи элементов массива в php?

Вопрос в том, как сбросить ключ, например. для массива:

<code>Array ( 
    [1_Name] => Array ( 
        [1] => leo 
        [4] => NULL 
    ) 
    [1_Phone] => Array ( 
        [1] => 12345 
        [4] => 434324
    )  
)
</code>

сбросить на:

<code>Array ( 
    [1_Name] => Array ( 
        [0] => leo 
        [1] => NULL 
    ) 
    [1_Phone] => Array ( 
        [0] => 12345 
        [1] => 434324
    ) 
)
</code>
 Web_Developer20 июн. 2014 г., 19:36
Проверьте этот ответ:stackoverflow.com/questions/5943149/…

Ответы на вопрос(5)

array_values сбросить ключи

foreach($input as &$val) {
   $val = array_values($val);
}

http://php.net/array_values

$array[9] = 'Apple';
$array[12] = 'Orange';
$array[5] = 'Peach';

$array = array_values($array);

$array[0] = 'Apple';
$array[1] = 'Orange';
$array[2] = 'Peach';

deceze предложил по сравнению с простымarray_values подход:

Массив:

$array['a'][0] = array('x' => 1, 'y' => 2, 'z' => 3);
$array['a'][5] = array('x' => 4, 'y' => 5, 'z' => 6);

$array['b'][1] = array('x' => 7, 'y' => 8, 'z' => 9);
$array['b'][7] = array('x' => 10, 'y' => 11, 'z' => 12);

Вdeceze Кстати, вот ваш вывод:

$array = array_map('array_values', $array);
print_r($array);

/* Output */

Array
(
    [a] => Array
        (
            [0] => Array
                (
                    [x] => 1
                    [y] => 2
                    [z] => 3
                )
            [1] => Array
                (
                    [x] => 4
                    [y] => 5
                    [z] => 6
                )
        )
    [b] => Array
        (
            [0] => Array
                (
                    [x] => 7
                    [y] => 8
                    [z] => 9
                )

            [1] => Array
                (
                    [x] => 10
                    [y] => 11
                    [z] => 12
                )
        )
)

А вот ваш вывод, если вы используете толькоarray_values функция:

$array = array_values($array);
print_r($array);

/* Output */

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [x] => 1
                    [y] => 2
                    [z] => 3
                )
            [5] => Array
                (
                    [x] => 4
                    [y] => 5
                    [z] => 6
                )
        )
    [1] => Array
        (
            [1] => Array
                (
                    [x] => 7
                    [y] => 8
                    [z] => 9
                )
            [7] => Array
                (
                    [x] => 10
                    [y] => 11
                    [z] => 12
                )
        )
)

http://php.net/manual/en/function.reset.php

Просто сделайте это:mixed reset ( array &$array )

 29 мар. 2015 г., 15:40
Пожалуйста, прочитайте руководство, на которое вы ссылаетесь;reset делает что-то еще
 01 февр. 2019 г., 12:06
Он просто перемещает указатель на первый элемент массива. Поисковый топик ищет способ сбрасывать ключи в состоянии по умолчанию 0, 1, 2 ... N.
Решение Вопроса

$arr = array_map('array_values', $arr);

Если вы просто хотите сбросить ключи массива первого уровня, используйтеarray_values() безarray_map.

 01 мар. 2013 г., 22:31
@SSH Вы использовали это наarray of arrays-А как здесь звали?
 21 сент. 2013 г., 16:47
Я не знаю, задокументировано ли использование array_values для сброса значений, но так и должно быть. Это действительно помогло сократить количество строк, которые я писал :)
 07 мая 2013 г., 10:24
вам не нужно использовать array_map: $ ret = array_values ($ ret); достаточно для сброса цифровых клавиш
 01 мар. 2013 г., 21:30
По какой-то причине ключи моего массива не были сброшены, пришлось использовать толькоarray_values функция.
 01 мар. 2013 г., 23:34
Нет, это была проблема, я думал, что это должно было "Сбросить ключи элементов массива", это не так.

Ваш ответ на вопрос