По какой-то причине при удалении элементов из массива я оставляю ключи, такие как 0, 2, 3, 4, 6, 9 вместо 0, 1, 2, 3, 4, 5. Итак Я пытаюсь понять, почему, и что я могу сделать, чтобы исправить это, не сортируя все через sort()
, поскольку это приведет к упорядочению вещей. Я просто хочу заново заговорить.PHP фиксирует числовые ключи в массиве
ответ
Используйте array_values()
, чтобы получить значения исходного массива и вернуть их в новый массив. Этот новый массив содержит новые числовые ключи.
$new_array = array_values($old_array);
Поскольку ключи не обязательно имеет значения, вы можете просто запустить свой окончательный массив результатов через array_values()
. Он оставляет все значения в том порядке, в котором они уже были, сбросив все ключи до последовательных числовых значений.
Это на самом деле ложно, кто-то узнал, что порядок не является порядком внешнего вида, а запросом foreach, который хранится: http://php.net/manual/fr/function.array-values.php#114941 – Sebas
Вы должны использовать array_splice()
для удаления элементов из массива, чтобы он менял ключ так, как вы хотите в одно и то же время.
Вы должны быть осторожны с array_values()
, так как он не будет (или, по крайней мере, не работает), потому что он может re-order your numeric indexes. Если вы добавили значение в индекс 0 после значения в индексе 3, значение в индексе 0 будет помещено в конец массива, возвращенное array_values()
, тогда как оно появится первым в вашей.
- 1. PHP Получить все числовые/анонимные ключи в массиве
- 2. Rename ключи в массиве PHP
- 3. php, изменить ключи в массиве?
- 4. Почему PHP cURL отбрасывает числовые ключи?
- 5. PHP array_push() возвращает числовые ключи тоже, а только строковые ключи
- 6. Повторяющиеся ключи в массиве
- 7. Можно ли иметь числовые ключи в массиве PHP, но не смежные от 0?
- 8. Групповые ключи массива в числовые диапазоны, возможно?
- 9. PHP - Переименовать повторяющиеся ключи в массиве JSON
- 10. PHP переименовать ключи массива в многомерном массиве
- 11. счетов PHP дублированных ключи в многомерном массиве
- 12. php iconv ключи в многомерном массиве
- 13. PHP: удалить ключи в многомерном массиве
- 14. str_replace ключи в многомерном массиве PHP
- 15. PHP ключи сортировки массива в многомерном массиве
- 16. сортировочные числовые хэш ключи, разделенные дефисом
- 17. Получить числовые ключи от Hash в Рубине
- 18. настроить ключи в массиве
- 19. PHP назначая числовые значения в строки в массиве
- 20. Рекурсивный заменить ключи в массиве
- 21. Пользовательские ключи в массиве json_encode
- 22. AngularJS $ http.get: JSON имеет числовые ключи - не нужны ключи
- 23. Яркие модели, возвращающие числовые и ассоциативные ключи
- 24. Неизвестные Ключи в многомерном массиве
- 25. Как спрятать ключи в массиве?
- 26. Заменить ключи в массиве объектов
- 27. PHP дедублировать ключи в разных объектах в массиве
- 28. В PHP, как я могу исправить недостающие ключи в массиве?
- 29. не может объявить ключи в двухмерном массиве в PHP
- 30. Найти все ключи второго уровня в многомерном массиве в php
Я должен предположить, что это не сработает, если ключ массива потенциально может быть ассоциативным, и вы хотите знать о нем. – ThorSummoner