приведение к "красивому" виду значений массива

korvin0

моська
приведение к "красивому" виду значений массива

У меня есть массив:
array(
1 => 0,
3 => 3,
7 => 21,
8 => 24
)

Я хочу получить:
array(
1 => 0,
3 => 1,
7 => 2,
8 => 3
)

Т.е. надо привести к "правильному" виду значения массива (0,1,2,3,..), не меняя индексы.
 

Фанат

oncle terrible
Команда форума
Я запрещаю отвечать кому бы то ни было, пока товарищь не поднатужится и не родит определение "правильного" "красивого" вида.
Словами, а не картинками.

Разрешаются к высказыванию гипотезы.

-~{}~ 27.10.04 20:31:

А вообще-то, как мне кажется, весь вопрос сводится к одной-единственной ссылке - Как правильно читать ман?
 

DimbIch

Новичок
я так понял товарищь хочет присвоить елементам массива значения в порядке возрастания ??
Фанат
такое можно было высказывать ???
если нет не кричи а просто удали мессагу...
 

korvin0

моська
говоря по-другому, мне нужно получить из массива, значения которых образуют ряд случайных величин, расположенных по возрастанию, массив с теми же индексами, но со значениями, которые образуют ряд натуральных чисел и 0 (0,1,2,3,4,5,..).
 

Gas

может по одной?
первый нарушитель :)
Гипотеза, но не в ту степь :)
Фанату показалось что вопрос из серии "почему id в базе идут не по порядку"

вот он и решил просветить человека :)

p.s. 2 Фанат извиняюсь за такие догадки.
 

DimbIch

Новичок
Автор оригинала: Gas
PHP:
$arr = array_flip(array_keys($arr));
имхо не даст желаемого результата
$i = 0;
foreach($array as $key => $value)
{
$array[$key] = $i;
$i++;
}
вот думаю так будет то что он хочет....
если я прально понял что он хочет
 

Фанат

oncle terrible
Команда форума
Да ладно, всерьез-то я никому запретить ничего не могу.
Это я ламеров пугаю :)

Я подумал не про айди, а про то, что он опечатался во втором массиве и ему какой-нибудь асорт нужен всего лишь.
 

DimbIch

Новичок
Автор оригинала: Gas
а ты попробуй
array_flip -- Exchanges all keys with their associated values in an array

<
PHP:
<?php  $trans = array("a" => 1, "b" => 1, "c" => 2);  $trans = array_flip($trans);  print_r($trans);  ?>
now $trans is:
Array  (      [1] => b      [2] => c  )
это из мана....
может я чет не понимаю в сути вопроса .. но создатели поста не это надо было....имхо
 
Сверху