Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сортировка многомерного массива по одному значению
 
 автор: darkozoid   (08.05.2013 в 12:28)   письмо автору
 
 

Добрый день.
есть массив

Array
(
[0] => Array
(
[0] => слово 1
[1] => 312
[2] => 45
)

[1] => Array
(
[0] => слово2
[1] => 23
[2] => 663
)

[2] => Array
(
[0] => слово3
[1] => 11
[2] => 31
)

)

Вопрос: как его отсортировать по первому элементу массива (жирный) в порядке возрастания?

  Ответить  
 
 автор: psychomc   (08.05.2013 в 12:49)   письмо автору
 
   для: darkozoid   (08.05.2013 в 12:28)
 

как-то так

<?php
        usort
($arr,
                   
create_function(
                                   
'$a,$b',
                                   
'return $a[1] > $b[1];'
                                  
)
             );

  Ответить  
 
 автор: darkozoid   (08.05.2013 в 14:24)   письмо автору
 
   для: psychomc   (08.05.2013 в 12:49)
 

спасибо большое

вот что получилось в итоге


<?
$my
=Array( Array("слово 1""312""45"),  Array("слово 2""452""15"), Array("слово 3""3""455")); 
echo
"<h2>Сортируем массив</h2>";
echo
"<pre>";
print_r($my);
echo
"</pre>";
echo
"<hr><br><br>";

echo
"<h2>Результат сортировки</h2>";
usort($mycreate_function('$a,$b''return $a[1] > $b[1];')); 

$it=0;
 while (list(
$key$value) = each($my)) {
 
// echo "\$fruits[$key]: " . $value[0] . " - " . $value[1] . " - " . $value[2] . "<br>";
    
$my2[$it][0]=$value[0];
    
$my2[$it][1]=$value[1];
    
$my2[$it][2]=$value[2];
    
$it++;
}

echo
"<pre>";
print_r($my2);
echo
"</pre>";

?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования