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

Форум PHP

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

 

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

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

тема: прохождение по массиву не FOR' ом
 
 автор: larush   (13.03.2009 в 15:51)   письмо автору
 
 

что-то я совсем туплю... Пробовал и сортировать, но неоднозначно все... Есть массив

Array
(
    [1] => Array
        (
            [kod_group] => 201
            [r2] => 5462097
            [r4] => -130
        )

    [5] => Array
        (
            [kod] => 201010000
            [group] => 1
            [r3] => 54564
        )

    [3] => Array
        (
            [kod] => 202010001
            [group] => 2
            [r2] => 1442
            [r4] => -130
        )

при выводе массива командно print_r меня устраивает этот порядок, но когда в цикле прохожу массив

for($i=1;$i<count($massiv);$i++)


то вторая запись с id=5 логично выводится в конце. Как мне пройти массив, обращаясь к элементам чем-то вроде "следующий элемент" без указания имени этого элемента ?

  Ответить  
 
 автор: rosson   (13.03.2009 в 16:05)   письмо автору
 
   для: larush   (13.03.2009 в 15:51)
 

А так устроит?
foreach($massiv as $key => $val)
{
     foreach($val as $next)
     {
           //здесь ловим следующий элемент
           echo $next;
     }
}

  Ответить  
 
 автор: larush   (13.03.2009 в 16:31)   письмо автору
 
   для: rosson   (13.03.2009 в 16:05)
 

не, так как не в каждом элементе 2 массива есть одинаковые значения ключей. Я получил на выходе список:


foreach($arBudzhRow as $key => $val) 

     foreach($val as $next) 
     { 
           echo $key . " = " .$next ."<br>"; 
     } 
}

выход: 

1 = 201
1 = 360597
1 = 1
1 = 100148
1 = 5462097
1 = -130
2 = 201010000
2 = 1
2 = 2
2 = 1
2 = 54564


т.е. названия ключей отсутствуют. А мне нужно знать за какой месяц платежи (r1, r2...)

  Ответить  
 
 автор: rosson   (13.03.2009 в 16:46)   письмо автору
 
   для: larush   (13.03.2009 в 16:31)
 

Перед вторым foreach выводите $key и получите как заголовок к внутренним массивам.

foreach($arBudzhRow as $key => $val)  
{  
     echo "<strong>$key</strong>\n"."\n";
     foreach($val as $ind =>$next)  
     {  
           echo $ind . " = " .$next ."<br>";  
     }  

  Ответить  
 
 автор: larush   (16.03.2009 в 10:52)   письмо автору
 
   для: rosson   (13.03.2009 в 16:46)
 

отлично ! Спасибо !
Немного видоизменил, убрал второй foreach и получил массив, который уже поддается обработке.

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

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