1

3 要素の配列があることがわかります。while ループを使用して 3 つの値すべてをテーブルに出力し、3 つの値ごとに 1 つの行を出力していますが、html コードを使用してハードコードされた行が 1 つしかない場合に 3 つの行がどのように出力されるのかわかりません。PHP の while ループは、各行の tr タグと td タグをエコーし​​ません。これらの行タグと詳細タグは PHP コードの外にあるためです。コードは機能します。「mary」、「donna」、「shirley」の値ごとに 1 つの追加の新しいテーブル行が出力されますが、その方法がわかりません。tr タグと td タグが while ループ内の PHP の echo ステートメントによって出力された場合に動作することがわかりましたが、ここではそうではありません。

<html>
<body>
<table cellspacing ="2" cellpadding ="2" align ="center" border="8">
<?php  
$ar1=["mary","donna","shirley"];
$len=count($ar1);
$ct=0;
?>
<?php while ( $ct<$len) { ?>
<tr>
<td> 
<?php echo $ar1[$ct]; 
$ct++;
?> 
</td>
</tr> 
<?php } //end while loop?> 
</table>
</body>
</html>  
4

6 に答える 6

0

php ファイルでは、php コードをエスケープすることによって (?> を使用して、基本的にスクリプトに言うと、php 以外のものが来るようになり、ブラウザによって html コードとして解釈される Html タグを提供します
。ループ内で (終了

タグを追加してループを終了していません。大量の html が表示されているときに、いくつかの php タグがあちこちに表示されます
.echo ステートメントを継続的に使用するよりも、タイピングがはるかに少なくて済みます.

于 2017-02-17T17:32:01.090 に答える
0

その答えは、HTML がコンパイル言語ではなくインタープリター言語であるという事実にあると思います。

したがって、この場合、php while ループはブラウザを最初の tr タグの直前の場所に戻して、それらのタグを再度通過して解釈し、これを行うと再びページに配置します。このように while ループを実行することは、本質的にエコーを実行する安価な方法です。

私は決して PHP の達人ではありませんが、HTML がどのように読み取られ、PHP がどのように機能するかを理解していることから、これが私の答えです。

于 2013-07-14T21:19:52.323 に答える
0

あなたの<tr>タグは while ループの中にあります。1行だけが必要な場合は、これを試してください-

<html>
<body>
<table cellspacing ="2" cellpadding ="2" align ="center" border="8">
<?php  
$ar1=["mary","donna","shirley"];
$len=count($ar1);
$ct=0;
?>
<tr>
<?php while ( $ct<$len) { ?>
<td> 
<?php echo $ar1[$ct]; 
$ct++;
?> 
</td>
<?php } //end while loop?> 
</tr> 
</table>
</body>
</html>  
于 2013-07-14T21:20:31.857 に答える
0

このコード片:

<?php while ( $ct<$len) { ?>
<tr>
<td> 
<?php echo $ar1[$ct]; 
$ct++;
?> 
</td>
</tr> 
<?php } //end while loop?> 

と同じです

<?php while ( $ct<$len) {
echo "<tr>
<td>";
echo $ar1[$ct]; 
$ct++;
echo "</td>
</tr>";
} //end while loop?> 
于 2013-07-14T21:20:42.613 に答える
0

コードをより深く分析すると、自分で理解できます..「php whileループは、各行のtrおよびtdタグをエコーし​​ません。これらの行と詳細タグはphpコードの外側にあるためです」と言いましたが、そうです.. htmlコードは、phpスコープ外でコーディングされたphpコードの一部ではありません...そしてwhileループが実行されるたびに、trおよびtgタグを再度読み取り、行を挿入するため、3行が出力されます...

于 2013-07-14T21:20:55.957 に答える