0

私はphpでデータベースからの情報を処理しており、htmlコードブロックに値を設定するつもりです:

$var = [function to grab multiple rows from database]($args);
foreach ($var as $row) {
echo "<p>$row[username]</p>";
}

問題は、その echo ステートメントのコードが単純<p></p>ではなく、約 50 行の html であることです。次のように、foreach ループの途中で php タグを閉じることは可能ですか。

    $var = [function to grab multiple rows from database]($args);
    foreach ($var as $row) {
?>
<p> <?php echo "$row[username]";?> </p>
<?php
    }
?>

そうでない場合、あなたは何を提案しますか?

4

4 に答える 4

2

はい、あなたはそれを行うことができます....

<?php
 foreach ($var as $row) {
?>
<p> <?php echo "$row[username]";?> </p>
<!--you can write any html you like-->
<?php
    }
?>
于 2012-09-13T17:46:59.010 に答える
1

個人的には、次のスタイルをお勧めします (ショートタグの使用は、目的のインストール環境に基づいてオプションです。以下を参照してください)。

<? foreach ($var as $row) : ?>
    <p><?= $row[username] ?></p>
<? endforeach ?>

の使用は<?、実行する環境で PHP 構成を完全に制御する場合にのみお勧めします (たとえば、ソフトウェアのインストールのみを自分で実行する場合など)。

ソフトウェアを広く (ワードプレスなどのように) 配布していて、絶対的な互換性が必要な場合 (たとえば、コードが PHP 4 と PHP 5 の両方に互換性があり、コードが月額 5 ドルのさまざまな共有アカウントで実行されているなど)、短いタグを避けることを強くお勧めします。

<?=は PHP 5.4 の時点で広くサポートされていますが、ユーザーが自分のサーバーにコードをインストールしている場合、PHP 5.4 が利用可能であるとは期待できません。

于 2012-09-13T17:55:45.420 に答える
1

次の注釈も使用できます。

<?php foreach ($var as $row): ?>
    <p> <?=$row[username] ?> </p>
<?php endforeach; ?>

PD: echo で単一の変数を引用符で囲む必要はありません

于 2012-09-13T17:53:31.330 に答える
0

はい、可能です。あなたが提供したコード例は機能します。

PHP には、可読性を向上させるための代替構文も用意されています。

    $var = [function to grab multiple rows from database]($args);
    foreach ($var as $row) :
?>
<p> <?php echo "$row[username]";?> </p>
<?php
    endforeach;
?>
于 2012-09-14T05:52:05.090 に答える