Массив. Проблема с его ключами

Gogi

Новичок
Массив. Проблема с его ключами

Всем доброго времени суток.
Имеется массив:
PHP:
Array
(
    [0] => Q=8-2P
    [3] => Q=63-uP
    [4] => Q=8-2dsP
    [5] => Q=63-fP
    [6] => Q=8-2P
)
Задача: оставить те же элементы массива, но с нормальными ключами ( [0] [1] [2] [3] [4] ...

Как сделать не знаю. Всю голову изломал. Прошу Вашей помощи. Заранее спасибо.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
А зачем тебе это надо? =)
 

Фанат

oncle terrible
Команда форума
что у вас всех за идиотская присказка про "голову изломал"?
как ты её ломал - хоть один пример привести можешь?

пользуешься функцией foreach, и работаешь с любыми ключами.
 

Gogi

Новичок
пример был таким
for ($i=0;$i<count($fns);$i++) { ....
но ключи массива идут не в порядке "12345...", а в произвольном, поэтому то - что я делал: глупо.

-~{}~ 25.12.08 23:01:

Иван 76
сейчас почитаем
Mr_Max
объясню чуть позже (возможно в ЛС)
Фaнат
foreach повторю

-~{}~ 25.12.08 23:05:

array_values() - самое то! )
Спасибо всем!
 

Иван 76

Новичок
В твоем случае уместнее foreach();
Для этого он и разрабатывался, чтоб пройтись по элементам, независимо от порядка следования ключей.
 

Фанат

oncle terrible
Команда форума
началось.
от горшка два вершка, а туда же: "Сомневаюсь".
 

Gogi

Новичок
Критиковать - Ваше право.
Выбор делать все-равно мне.
А за помощь спасибо )
 

Иван 76

Новичок
Gogi
Не пререкайся. Для начала разберись в преимуществах и недостатках for() и foreach().
Тогда сомнения рассеются.
 

Gogi

Новичок
Mr_Max
http://phpclub.ru/talk/private.php - там пояснение, если интересно

-~{}~ 25.12.08 23:18:

Иван 76
сейчас попробую пересмотреть позиции, раз настаиваешь

-~{}~ 25.12.08 23:23:

Иван 76
почитал, повникал
PHP:
$fns=array_values($fns);
но проще этого с foreach() у меня сделать не получилось. Может кто-нибудь из профи попробует?
 

Gogi

Новичок
Не могу. Я крайне редко касался foreach и не понимаю как это реализовать, но логика такая:

Переписать элементы массива1 (массив1-массив с лажовыми ключами) в массив2 (массив2-массив с ключами 0,1,2,3,4...)
 

Beavis

Banned
Gogi
не надо переписывать массив1 в массив2, т.к. с помощью foreach можно нормально работать с массивом1, даже проще чем щас ты работаешь с массивом2
 

Иван 76

Новичок
Gogi
Давай договоримся.
Форум не предназначен для того чтобы пересказывать мануал
http://www.php.net/manual/ru/control-structures.foreach.php

Это тебе придется сделать самостоятельно.

Для чего тебе нужна строгая последовательность ключей? Для переборки массива или для чего-то еще? Приведи свой код, что у тебя там?

-~{}~ 25.12.08 23:40:

Автор оригинала: Gogi
ну сделайте Ваш пример раз все так просто.
Пример есть в мане. В чем сложность-то?
PHP:
foreach ($arr as $key => $value) {
    echo "Key: $key; Value: $value<br />\n";
}
 

Gogi

Новичок
Иван 76
Твоя ссылка у меня давно на соседней вкладке. result=0

цитата:
Для чего тебе нужна строгая последовательность ключей?

Нужна, для точной адресации(так сказать короче).

И в чем его смысл?

-~{}~ 25.12.08 23:46:

результат:
Array
(
[0] => Q=8-2P
[1] =>
[2] =>
[3] => Q=63-uP
[4] => Q=8-2dsP
[5] => Q=63-fP
[6] => Q=8-2P
)

Key: 0; Value: Q=8-2P
Key: 3; Value: Q=63-uP
Key: 4; Value: Q=8-2dsP
Key: 5; Value: Q=63-fP
Key: 6; Value: Q=8-2P

Всем спасибо. Всем пока.
 
Сверху