Вопрос по arrays, indexing, php – Переиндексировать числовые массивы ключей

21

У меня есть массив, который построен с использованиемexplode() функции, но, видя, как я использую ее со случайными / динамическими данными, я вижу, что индексы постоянно меняются:

<code>Array
(
    [2] => Title: Warmly little before cousin sussex entire set Blessing it ladyship.
    [3] => Snippet: Testing
    [4] => Category: Member
    [5] => Tags: little, before, entire
)
</code>

Мне нужно, чтобы массив был упорядочен, начиная с 0 всегда. Я тестирую с другими данными, и иногда он начинается с 0, а с другими тестами он начинается с разных номеров. Я исследовал и наткнулсяМассив, начинающийся с нуля но, похоже, это относится только к конкретным случаям пользователей. Код, который я использую для построения массива, можно увидеть здесь: https://stackoverflow.com/a/10484967/1183323

Как я могу это сделать?

Как вы создали этот массив? Разнесение по умолчанию начнется с 0. Jage
Тыread the manual? symcbean

Ваш Ответ

2   ответа
11

array_merge () перенумеровать массив:

$your_old_array = array( 2 => 'whatever', 19 => 'huh', 22 => 'yep' );
$your_new_array = array_merge($your_old_array);
print_r($your_new_array);

Печатает это:

Array ( 
  [0] => whatever 
  [1] => huh 
  [2] => yep )
Это называется JUGAD на языке хинди и урду: D: P, но это работает .. (у)
Я бы сказал, чтоarray_merge лучший ответ. Если есть какие-либо нечисловые индексы массива в массиве,array_values удалит их и перенумерует. Толькоarray_merge сохранит нечисловые индексы, а переиндексирует только числовые индексы.
Это также работает, результат, который я достиг, похож наarray_values, Спасибо! Tower
Это похоже на array_values, но лучше, если у вас есть строковые ключи в массиве наряду с числовыми ключами. array_merge () сохраняет строковые ключи как есть и переставляет только числовые ключи.
52
$your_new_array = array_values($your_old_array);
Это сделало это, но должно быть что-то еще, что я должен быть обеспокоен реализацией этой функции. Tower
Нет. Согласно руководству, «array_values () возвращает все значения из входного массива и численно индексирует массив».
Обратите внимание, что руководство не гарантирует, что порядок значений будет сохранен.

Похожие вопросы