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

Форум PHP

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

 

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

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

тема: многомерный массив сортировка
 
 автор: ronin   (05.12.2007 в 12:06)   письмо автору
 
 

Здравствуйте!
Проблема такова: сам массив сортируется, а вывод его в таблицу - нет
имеется массив

Array
(
    [1] => Array
        (
            [0] => аааааааа
            [1] => уууууу
            [2] => 1,2
            [3] => 3
        )

    [0] => Array
        (
            [0] => fffffff
            [1] => fffffffffffff
            [2] => 1,2
            [3] => 3
        )

    [6] => Array
        (
            [0] => песняри
            [1] => блин
            [2] => 5,12
            [3] => 4
        )

    [7] => Array
        (
            [0] => мадонна
            [1] => как молитва
            [2] => 5,55
            [3] => 6
        )

    [3] => Array
        (
            [0] => щ
            [1] => щщщщщщщщщщ
            [2] => 1,2
            [3] => 7
        )

    [4] => Array
        (
            [0] => автор
            [1] => еще название
            [2] => 5,4
            [3] => 8
        )

    [5] => Array
        (
            [0] => абба
            [1] => вотерлоо
            [2] => 2,52
            [3] => 9
        )

    [2] => Array
        (
            [0] => песня
            [1] => ааааа
            [2] => 1,2
            [3] => 10
        )

)

т.е он сортируется по полю [3]
вот код:

function my_cmp ($ra, $rb)  { return $ra[3] - $rb[3]; }
foreach ($file as $f) {
$tmp = explode ('|', $f);
$data[] = array ($tmp[0], $tmp[1],$tmp[2],$tmp[3]);
uasort ($data, 'my_cmp');
$lenth=explode(',', $tmp[2]);
   echo "<center><table border=1 >
    <tr><td width=100>"."<font color='#000066'>".$tmp[0]."</td>
    <td width=200>".$tmp[1]."</td>
    <td width=100><div class=fon>".$lenth[0]."</div>&#236;&#232;&#237;<div class=fon>".$lenth[1]."</div>&#241;&#229;&#234;</td>
    <td width=100>".$tmp[3]."</td>
    <td width=200><a href=edit.php?namesong=".urlencode($tmp[1]).">&#240;&#229;&#228;&#224;&#234;&#242;&#232;&#240;&#238;&#226;&#224;&#242;&#252;<br> &#239;&#229;&#241;&#237;&#254;</a></td>
    <td width=100><a href=edit.php?namesong=".urlencode($tmp[1]).">&#243;&#228;&#224;&#235;&#232;&#242;&#252;<br> &#239;&#229;&#241;&#237;&#254;</a></td></tr>";
   }
  echo "</table></center>";
  print '<pre>';
print_r ($data);
print '</pre>';

т.е последние строчки выводят массив так как надо сортировка по полю[3], а вывод в таблице - нет - по порядку массивов

   
 
 автор: sim5   (05.12.2007 в 12:43)   письмо автору
 
   для: ronin   (05.12.2007 в 12:06)
 

Так вы сортитруете массив $data, а в таблице выводите массивы $tmp и $lenth.

   
 
 автор: ronin   (05.12.2007 в 17:45)   письмо автору
 
   для: sim5   (05.12.2007 в 12:43)
 

если долго мучиться - что-нибудь получиться!!!
надо было не один форич, а - два!
Спасибо за подсказку!

function my_cmp ($ra, $rb)  { return $ra[3] - $rb[3]; }

foreach ($file as $f) {
$tmp = explode ('|', $f);
$data[] = array ($tmp[0], $tmp[1],$tmp[2],$tmp[3]);

 }
$lenth=explode(',', $tmp[2]);
 uasort ($data, 'my_cmp');
 foreach ($data as $tmp)
             {
   echo "<center><table border=0 >
    <tr><td width=200>"."<font color='#000066'>".$tmp[0]."</td>
    <td width=200 ><div class=namesong>".$tmp[1]."</div></td>
    <td width=100><div class=fon>".$lenth[0]."</div><div class=fon1>&#236;&#232;&#237;</div><div class=fon>".$lenth[1]."</div><div class=fon1>&#241;&#229;&#234;</div></td>
    <td width=100>".$tmp[3]."</td>
    <td width=200><a href=edit.php?namesong=".urlencode($tmp[1])."><br> &#239;&#229;&#241;&#237;&#254;</a></td>
    <td width=100><a href=edit.php?namesong=".urlencode($tmp[1])."><br> &#239;&#229;&#241;&#237;&#254;</a></td></tr>";

  echo "</table></center>";
  }

   
Rambler's Top100
вверх

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