-1

現在、私はPHP3レベルの配列を持っています。表形式で表示するにはどうすればよいですか?print_rを使用すると、配列全体を表示できますが、表形式で表示するには、配列を美しくする必要があります。出来ますか?

挿入される配列のサンプルは、別の投稿に示されているとおりです。ネストされた配列を使用したPHP foreach?

4

2 に答える 2

1

だから...配列の各レベルは埋め込みテーブルでなければなりませんか?

<table>
    <?php // FIRST LEVEL
    foreach ($myArray as $first_level): ?>
    <tr>
        <td>The header of the first level, here's some data <?php echo $first_level['some_data']; ?></td>
    </tr>
    <tr>
        <td>
            <table>
            <?php // SECOND LEVEL
                foreach($first_level['second_level'] as $second_level): ?>
                    <tr>
                        <td><?php echo $second_level['some_data']; ?></td>
                    </tr>
            <?php endforeach; ?>
                </table>
        </td>
    </tr>
    <?php endforeach; ?>
</table>

..そしてパターンを繰り返し続ける

于 2013-01-08T07:28:41.010 に答える
1

出力形式のテンプレートを提供しなかったため、それを行う方法はたくさんあります....入力配列の各要素がテーブルの1行を表す
と仮定しましょう。 $e[0] は文字列要素 ( 、、) であり、$e[1] は対応する配列、またはです。$e[0] を要素 に入れましょう。$e$src
onetwothree1,2,34,5,67,8,9
<th>...</th>

foreach( $src as $e ) {
  echo '<th>', $e[0], '</th>';
}

次に、各要素を $e[1] in でラップし<td>....</td>ます。

foreach( $src as $e ) {
  echo '<th>', $e[0], '</th>';
  foreach($e[1] as $v) {
    echo '<td>', $v, '</td>';
  }
}

それを別のものにラップ<tr>...</tr>すれば完了です

foreach( $src as $e ) {
  echo '<tr>';
  echo '<th>', $e[0], '</th>';
  foreach($e[1] as $v) {
    echo '<td>', $v, '</td>';
  }
  echo "</tr>\r\n";
}

同じことを少し短くします ( http://docs.php.net/joinを参照)

<?php
$src = getData();
foreach( $src as $e ) {
    echo '<tr><th>', $e[0], '</th><td>', join('</td><td>', $e[1]), "</td></tr>\n";
}

function getData() {
    return array(
        array( 'one', array(1,2,3) ),
        array( 'two', array(4,5,6) ),
        array( 'three', array(7,8,9) )
    );
}

出力は

<tr><th>one</th><td>1</td><td>2</td><td>3</td></tr>
<tr><th>two</th><td>4</td><td>5</td><td>6</td></tr>
<tr><th>three</th><td>7</td><td>8</td><td>9</td></tr>

参照: http://docs.php.net/htmlspecialchars

于 2013-01-08T07:34:54.690 に答える