А правильно выстроить цикл?

Имеется массив такого вида

Array
  (
      [0] => Array
          (
              [ID] => 417
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 100
              [ACTIVE] => Y
          )

      [1] => Array
          (
              [ID] => 418
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 200
              [ACTIVE] => Y
          )

      [2] => Array
          (
              [ID] => 419
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 300
              [ACTIVE] => Y
          )

      [3] => Array
          (
              [ID] => 420
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 400
              [ACTIVE] => Y
          )

      [4] => Array
          (
              [ID] => 421
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 500
              [ACTIVE] => Y
          )

      [5] => Array
          (
              [ID] => 422
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 600
              [ACTIVE] => Y
          )

      [6] => Array
          (
              [ID] => 423
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 700
              [ACTIVE] => Y
          )

      [7] => Array
          (
              [ID] => 424
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 800
              [ACTIVE] => Y
          )

      [8] => Array
          (
              [ID] => 425
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>   
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 900
              [ACTIVE] => Y
          )

      [9] => Array
          (
              [ID] => 426
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 1000
              [ACTIVE] => Y
          )

      [10] => Array
          (
              [ID] => 427
              [FIELD_ID] => 79
              [QUESTION_ID] => 79
              [TIMESTAMP_X] => 09.09.2022 15:10:04
              [MESSAGE] =>  
              [VALUE] => 
              [FIELD_TYPE] => text
              [FIELD_WIDTH] => 0
              [FIELD_HEIGHT] => 0
              [FIELD_PARAM] => 
              [C_SORT] => 1100
              [ACTIVE] => Y
          )

Хочу получить из него таблицу в каждой строке которой должно быть пять [ID] элементов:

<tr>417 418 420 421 422</tr>
<tr>423 424 425 426 427</tr>

Делаю я вот так:

<?
$array = array_chunk($arResult["QUESTIONS"]["q18"]["STRUCTURE"], 5, true); 
            foreach ($array as $key => $arAnswer)
            {
            ?>
            <tr> 
            
            <?print_r ($arAnswer["ID"]);?>
             
 
            </tr>
            <?
            } ?>

Но вот так ID не выводит, я так понимаю потому что сперва нужно указать что бы цикл проходил по ключам массива

Если сделать вывод без ID:

<?print_r ($arAnswer["ID"]);?>

То вот что выдает:

<tr> 
            
            Array
(
    [0] => Array
        (
            [ID] => 164
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 100
            [ACTIVE] => Y
        )

    [1] => Array
        (
            [ID] => 418
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 200
            [ACTIVE] => Y
        )

    [2] => Array
        (
            [ID] => 419
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 300
            [ACTIVE] => Y
        )

    [3] => Array
        (
            [ID] => 420
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 400
            [ACTIVE] => Y
        )

    [4] => Array
        (
            [ID] => 421
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 500
            [ACTIVE] => Y
        )

)
             
 
            </tr>
                        <tr> 
            
            Array
(
    [5] => Array
        (
            [ID] => 422
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 600
            [ACTIVE] => Y
        )

    [6] => Array
        (
            [ID] => 423
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 700
            [ACTIVE] => Y
        )

    [7] => Array
        (
            [ID] => 424
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 800
            [ACTIVE] => Y
        )

    [8] => Array
        (
            [ID] => 425
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>   
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 900
            [ACTIVE] => Y
        )

    [9] => Array
        (
            [ID] => 426
            [FIELD_ID] => 79
            [QUESTION_ID] => 79
            [TIMESTAMP_X] => 09.09.2022 15:10:04
            [MESSAGE] =>  
            [VALUE] => 
            [FIELD_TYPE] => text
            [FIELD_WIDTH] => 0
            [FIELD_HEIGHT] => 0
            [FIELD_PARAM] => 
            [C_SORT] => 1000
            [ACTIVE] => Y
        )

)
             
            </tr>

То есть нужно как то указать что бы он брал именно ID у каждого элемента первого массива, а как это сделать не могу понять, пробовал добавить туда еще один цикл то там запутался еще больше


Ответы (2 шт):

Автор решения: Владимир Клыков

Если нужен "иной" вид - приведите пример как именно оно должно быть выведено:

$i = 1
echo "<tr>";
foreach ($array as $key => $arAnswer){
   echo "<td>$key</td>"; //<- возможно не то поле и тогда:
   //                      echo "<td>{$arAnswer['ID']}</td>"
   echo ($i%5==0?"</tr><tr>":"");
   $i++;
}
echo "</tr>";
→ Ссылка
Автор решения: Егор

Если начальным значением задать i=1 а не нулю как изначально было то всё начинает работать как нужно) Владимир, благодарю за помощь!

<?
$i = 1;
echo "<tr>";
foreach ($array as $key => $arAnswer){
echo "<td>{$arAnswer['ID']}</td>"; //<- возможно не то поле и тогда: //echo "<td>{$arAnswer['ID']}</td>"
echo ($i%5==0?"</tr><tr>":"");
$i++;
}
echo "</tr>"; ?>

→ Ссылка