[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: поменять местами ключи и значения...
MatrixGod
всем привед!

как в массиве поменять местами ключи и их значения?
так чтоб:

$arr[0] = vasya
$arr[1] = petya


и т.д. стало:

$arr[vasya] = 0
$arr[petya] = 1


и можно ли отсортировать массив по значениям (если все цифровые) а не по ключам?



Спустя 5 минут, 2 секунды (25.04.2010 - 00:45) waldicom написал(а):
foreach($arr as $key=>$value) ?

Спустя 2 минуты, 37 секунд (25.04.2010 - 00:47) MatrixGod написал(а):
waldicom
не, мне надо чтоб он не выдавал в обратном порядке.
мне надо чтоб он тот же массив перезаписал!

Спустя 1 минута, 11 секунд (25.04.2010 - 00:48) John_761 написал(а):
Или функцией воспользоваться http://ru2.php.net/manual/en/function.array-flip.php

Спустя 10 минут, 26 секунд (25.04.2010 - 00:59) MatrixGod написал(а):
John_761
спасибо, интересная функция, буду знать.

но теперь понимаю что не это мне было нужно. потому что значения у меня повторяются, тоесть несколько раз есть, скажем, число 1.

а при array_flip() они просто не обрабатываются, ведь не могут быть одинаковые ключи.

короче говоря, надо отсортировать массив по значениям, они все имеют числовые значения. как?

вот так выглядит массив...

Array ( [Все] => 2 [о] => 5 [PHP,] => 8 [MySQL] => 2 [и] => 22...

Спустя 8 минут, 57 секунд (25.04.2010 - 01:08) KronuS написал(а):
arsort и иже с ним.

Спустя 2 минуты, 58 секунд (25.04.2010 - 01:11) MatrixGod написал(а):
KronuS
пробывал. не дает!

Спустя 11 минут, 22 секунды (25.04.2010 - 01:22) KronuS написал(а):

<?PHP
$array = array("a"=>1,"b"=>3,"c"=>2, "d"=>3);

print ("<pre>");
print_r($array);
print ("</pre>");

asort($array);

print ("<pre>");
print_r($array);
print ("</pre>");

?>


Результат:

Array
(
[
a] => 1
[b] => 3
[c] => 2
[d] => 3
)
Array
(
[
a] => 1
[c] => 2
[d] => 3
[b] => 3
)

Спустя 29 минут, 49 секунд (25.04.2010 - 01:52) MatrixGod написал(а):
KronuS
о, теперь дало, спасибо...

asort и arsort это ведь не то же самое... smile.gif

Спустя 1 минута, 21 секунда (25.04.2010 - 01:53) KronuS написал(а):
MatrixGod, опечатка *pardon*
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.