Создать таблицу из массива - PullRequest
0 голосов
/ 11 сентября 2018

Я новичок в PHP. Я нашел использование простого foreach, но я хочу больше прогресса. Что я делал до сих пор. Я использую метод формы '' get '', чтобы получить некоторые данные от интеграции API. Эти данные я преобразую их в массив. Каждый раз, когда у меня есть больше массивов. Прямо сейчас допустим, что я получил 4967 массивов. После, может быть, у меня будет меньше или больше.

Итак, я получаю это

1 --> Login
2 --> Position ID
3 --> ....
4 --> ...
..
..
13 --> Margin
14 --> Login number (let's say 2005)
15 --> Position Id number (let's say 100)

Итак, особенно я хочу что-то вроде ниже. Каждый раз для создания одного ТР, затем 13-го и зацикливания до конца

<table>
<tbody>
<tr>
<th>Login</th>
<th>Position ID</th>
..
...
<th>Margin</th>
</tr>
<tr>
<th>12435</th>
<th>132321</th>
..
...
<th>2323</th>
</tr>
<tr>
<th>342243</th>
<th>345345</th>
..
...
<th>24324</th>
</tr>
</tbody>
</table>

Пожалуйста, если вы проявите доброту, дайте мне указания с кодом. Я читаю 3 дня и пытаюсь, но, к сожалению, я не могу этого сделать.

Последнее, что я сделал в своем php-коде для создания массивов, это

$array = explode('\r\n', $encodejson);

Вывод такой

array (
  0 => '"login',
  1 => 'positionId',
  2 => 'openTimestamp',
  3 => 'entryPrice',
  4 => 'direction',
  5 => 'volume',
  6 => 'symbol',
  7 => 'commission',
  8 => 'swap',
  9 => 'bookType',
  10 => 'stake',
  11 => 'spreadBetting',
  12 => 'usedMargin',
  13 => '3004701',
  14 => '394254',
  15 => '2018-07-19T23:23:53.733',
  16 => '1.2495',
  17 => 'BUY',
  18 => '300000.00',
  19 => 'GBPUSD',
  20 => '1.36',
  21 => '0.00',
  22 => 'BOOK_B',
  23 => '0.00',
  24 => 'false',
  25 => '5325.30',

0 - 12 тр 13 -25 - это еще один тр

Это происходит до конца (сейчас скажем, у меня есть 2483 массива с этой структурой)

ПОСЛЕДНИЕ ОБНОВЛЕНИЯ !!! Я сделал это таким образом и работал

$chunks = array_chunk($array, 13);

    echo '<table id = "customers">';
    foreach ($chunks as $chunk) {
        echo '<tr>';
        foreach ($chunk as $val) {
            printf('<td>%s</td>', $val);
        }
        echo '</tr>';
    }
    echo '</table>';

Спасибо всем ребятам за помощь

1 Ответ

0 голосов
/ 11 сентября 2018

Возможно, вы могли бы попытаться создать чанки из большого массива.

$chunks = array_chunk($array, 13);
foreach($chunks as $chunk) {
   //form the table here
   echo "<tr>";
   foreach($chuck as $value){
      echo "<th>".$value."</th>";
   }
   echo "</tr>";
}

После изменения intu чанов плоского массива у вас будет отдельный дочерний массив, имитирующий 1 строку.

...