0

2次元配列からテーブルを作成する際に少し問題があります。

次のような1つのページから動的配列を取得しています

Array
(
 [0] => Array
    (
        [0] => 1374
        [id] => 1374 )
        [1] => 223
        [version_id] => 223

[1] => Array
    (
        [0] => 1540
        [id] => 1540)
        [1] => 224
        [version_id] => 224

[2] => Array
    (
        [0] => 1541
        [id] => 1541)
        [1] => 225
        [version_id] => 225
)

次のようなテーブルにデータが必要です。

必須

4

3 に答える 3

1

html構造による

「行」<tr>を最初にレンダリングし、次に「列」をレンダリングする必要があります<td>

行ごとにレンダリングする方が簡単です

アップデート

ここにまさにあなたが望むものがあります..

3回目の編集

定義済みサンプル $data

$data = array(
        array(
            0 => 1374,
            'id' => 1374,
            1 => 223,
            'version_id' => 223
        ),
        array(
            0 => 1540,
            'id' => 1540,
            1 => 224,
            'version_id' => 224
        ),
        array(
            0 => 1541,
            'id' => 1541,
            1 => 225,
            'version_id' => 225
        )
    );

フィールド情報を知っているか、mysql_field_name で取得することを前提としています

    $fields = array('id', 'version_id'); 
    echo '<table class="spec">
        <thead>
            <tr>
                <th>name</th>';

for ($n = 0; $n < sizeof($data); $n++) {
    echo '
            <th>array_data-' . $n . '</th>';
}

echo '
            </tr>
        </thead>
        <tbody>';

for ($i = 0; $i < sizeof($fields); $i++) {
    echo '<tr>
            <td>' . $fields[$i] . '</td>';

    foreach ($data as $row) {
        echo '<td>' . $row[$i] . '</td>';
    }
    echo '</tr>';
}

echo '</tbody>
    </table>';
于 2012-04-20T07:32:26.460 に答える
1
$multidim_arr = array
(
 array
    ( 
        0 => 1374,
        1 => 223
),
array
    (
        0 => 1540,
        1 => 224
),
array
    (
        0 => 1541,
        1 => 225
)
);
$n = count($multidim_arr);
$z = count($multidim_arr[$n-1]);
echo "<table>";
for($j = 0; $j<$z;$j++) {
  echo "<tr>";
  for($i = 0; $i<$n; $i++) {
    echo "<td>".$multidim_arr[$i][$j]."</td>";
  }
  echo "</tr>";
}
echo "</table>";

まず、PDO::FETCH_NUM を PDO で実行し、PDO::FETCH_BOTH をチェックしませんhttp://php.net/manual/en/pdostatement.fetch.php

よろしく

@edit またはキー付き:

<?php

$multidim_arr = array
(
 array
    ( 
        'id' => 1374,
        'version_id' => 223
),
array
    (
        'id' => 1540,
        'version_id' => 224
),
array
    (
        'id' => 1541,
        'version_id' => 225
)
);
$n = count($multidim_arr);
$z = count($multidim_arr[$n-1]);
$keys = array_keys($multidim_arr[$n-1]);
echo "<table>";
for($j = 0; $j<$z;$j++) {
  echo "<tr>";
  for($i = 0; $i<$n; $i++) {
    echo "<td>key: ".$keys[$j]." and value: ".$multidim_arr[$i][$keys[$j]]."</td>";
  }
  echo "</tr>";
}
echo "</table>";

@edit 別の例

<?php

$multidim_arr = array
(
 array
    ( 
    0 => 1374,
        'id' => 1374,
    1 => 223,
        'version_id' => 223
),
array
    (
    0 => 1540,
        'id' => 1540,
        1 => 224,
        'version_id' => 224
),
array
    (
    0 => 1541,
        'id' => 1541,
        1 => 225,
        'version_id' => 225
)
);
$n = count($multidim_arr);
$z = count($multidim_arr[$n-1])/2;
$keys = array('id', 'version_id');
echo "<table>";
for($j = 0; $j<$z;$j++) {
  echo "<tr>";
  for($i = 0; $i<$n; $i++) {
    echo "<td>key: ".$keys[$j]." and value: ".$multidim_arr[$i][$keys[$j]]."</td>";
  }
  echo "</tr>";
}
echo "</table>";

しかし、ここではキーを知っている必要があります。

于 2012-04-20T07:40:57.623 に答える
0

//テストされていませんが、良いはずです..

$count_multi = count($multidim_arr);
echo '<table border="1"><tbody><tr>';
for($i=0;$i<$count_multi;$i++)
{
   $subarr = $multidim_arr[$i];
   echo '<td>Content at index'.$i.' of multi-dimensional array <br />'.$subarr['id'].'</td>';
}
echo '</tr></tbody></table>';
于 2012-04-20T07:28:21.697 に答える