print_r(mass1);
Array ( [4] => 38 [2] => 35 [5] => 33 [1] => 31 [3] => 28 )
print_r(mass2);
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
надо, чтобы элементы в массиве 2 шли в той же последовательности как и в первом.
Спустя 7 минут, 5 секунд (5.08.2011 - 12:39) linker написал(а):
usort() тебе в помощь.
Спустя 13 минут, 38 секунд (5.08.2011 - 12:53) maximka787 написал(а):
linker
Это хорошая функция. но она сортирует по значениям, но при этом индексы новые дает.
может я не правильно понимаю
Есть команды спортивные, которые сортируются по значению от большего. В моем примере: 4, 2, 5, 1, 3
Мне надо делать сортировку второго массива, по ключам первго
foreach ($mass as $key => $value) в этом том порядке 4, 2, 5, 1, 3
поэтому массив Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
надо преобразовать в
Array ( [0] => 4 [1] => 2 [2] => 5 [3] => 1 [4] => 3 )
Это хорошая функция. но она сортирует по значениям, но при этом индексы новые дает.
может я не правильно понимаю
Есть команды спортивные, которые сортируются по значению от большего. В моем примере: 4, 2, 5, 1, 3
Array ( [4] => 38 [2] => 35 [5] => 33 [1] => 31 [3] => 28 )
Мне надо делать сортировку второго массива, по ключам первго
foreach ($mass as $key => $value) в этом том порядке 4, 2, 5, 1, 3
поэтому массив Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
надо преобразовать в
Array ( [0] => 4 [1] => 2 [2] => 5 [3] => 1 [4] => 3 )
Спустя 11 минут, 22 секунды (5.08.2011 - 13:04) Winston написал(а):
Так ?
$arr = Array (4 => 38, 2 => 35, 5 => 33, 1 => 31, 3 => 28);
print_r(array_keys($arr));
Спустя 1 минута, 11 секунд (5.08.2011 - 13:05) maximka787 написал(а):
PHPprogrammer
о интересно, проверим сейчас
о интересно, проверим сейчас
Спустя 45 минут, 58 секунд (5.08.2011 - 13:51) maximka787 написал(а):
$arr1 = Array (
1 => 'январь',
2 => 'февраль',
3 => 'март',
4 => 'апрель');
// массив информационный
$arr2 = Array (4 => 38, 2 => 35, 3 => 33, 1 => 31); // массив для сортировки, важны только ключи массива
// получаем последовательность для вывода массива 1
$newsort = array_keys($arr2);
print_r($newsort); // Array ( [0] => 4 [1] => 2 [2] => 3 [3] => 1 )
//4,2,3,1 вот такой порядок вывода для первого массива
foreach($newsort AS $key => $value){
echo '<br>'.$arr1[$key];
}
НЕ могу вывести в вот так
апрель
февраль
март
январь
Спустя 6 минут, 31 секунда (5.08.2011 - 13:58) Winston написал(а):
Так
$arr2 = Array (4 => 38, 2 => 35, 3 => 33, 1 => 31); // массив для сортировки, важны только ключи массива
// получаем последовательность для вывода массива 1
$newsort = array_flip(array_keys($arr2));
print_r($newsort); // Array ( [0] => 4 [1] => 2 [2] => 3 [3] => 1 )
//4,2,3,1 вот такой порядок вывода для первого массива
foreach($newsort AS $key => $value)
echo '<br>'.$arr1[$key];
Спустя 8 минут, 21 секунда (5.08.2011 - 14:06) Winston написал(а):
Цитата (maximka787 @ 5.08.2011 - 13:51) |
print_r($newsort); // Array ( [0] => 4 [1] => 2 [2] => 3 [3] => 1 ) |
Цитата (maximka787 @ 5.08.2011 - 13:51) |
foreach($newsort AS $key => $value){ |
Если посмотреть на эти строки то можно заметить, что
в $key будут индексы 0 1 2 3
И ты их потом выводишь
echo $arr1[0];
echo $arr1[1];
echo $arr1[2];
echo $arr1[3];
Спустя 11 минут (5.08.2011 - 14:17) maximka787 написал(а):
Спасибо, буду разбирать. Пример рабочий, если что напишу сюда)
_____________
..Работает - не трогай!