昨日からずーと悩んでいるのですがfor文で
*実際はテーブルを使ってます
値144
値255
値366
値477
件数4件
平均60.5
と出したいのですが下のプログラムでは出ませんなぜでしょうか?
<HTML>
<HEAD>
<TITLE>for文例問題1</TITLE>
</HEAD>
<BODY>
<table border>
<?php
$ary1 = array(44,55,66,77);
for($i=0;$i<4;$i++)
{
$a = 44+55+66+77/4;
<tr><th>値 $i</th>
<td>44</td></tr>
<tr><th>値 $i</th>
<td>55</td></tr>
<tr><th>値 $i</th>
<td>66</td></tr>
<tr><th>値 $i</th>
<td>77</td></tr>
<tr><th>件名</th>
<td> $i件</td></tr>
<tr><th>平均</th>
<td> $a件</td></tr>
</table>
}
?>
</BODY>
</HTML>
ご存知の方どうか助言お願いします
No.1ベストアンサー
- 回答日時:
元も題意が読みきれないのですが、こんな感じですか?
<HTML>
<HEAD>
<TITLE>for文例問題1</TITLE>
</HEAD>
<BODY>
<table border>
<?php
$ary1 = array(44,55,66,77);
$sum = 0;
for($i=0;$i<4;$i++)
{
?>
<tr><th>値 <?= $i ?></th>
<td><?= $ary1[$i] ?></td></tr>
<? $sum += $ary1[$i];
}
?>
<tr><th>件数</th>
<td><?= $i ?>件</td></tr>
<tr><th>平均</th>
<td><?= $sum/$i ?></td></tr>
</table>
</BODY>
</HTML>
No.4
- 回答日時:
こんにちは
同じくPHP勉強中の身ですが、何かの参考になればと思います。
forを使うということですので・・・
<HTML>
<HEAD>
<TITLE>for文例問題1</TITLE>
</HEAD>
<BODY>
<table border="1">
<?php
$ary1 = array(44,55,66,77);
$kensu =count($ary1);//件数
$heikin = array_sum($ary1)/$kensu;//平均値
for($i=0;$i<$kensu;$i++){
echo "<tr><th>値".$i."</th><td>".$ary1[$i]."</td></tr>\n";
}
echo "<tr><th>件数</th><td>".$kensu."件</td></tr>\n";
echo "<tr><th>平均値</th><td>".$heikin."</td></tr>\n";
?>
</table>
</BODY>
</HTML>
こんな感じでどうでしょうか?もっとスマートなやり方があるとは思いますが(笑)
count($ary1)で配列の中の要素の数を取り出します。つまりこの例題では”4”になります。
array_sum($ary1)で配列の値の合計値(44+55+66+77)を出します。その値を件数で割ることで平均値がでます。
forでループさせるのは配列の要素と値、件数と平均値はループの必要がありませんのでfor(){}の外側に出します。
こういう感じにしておけば、後で配列の中身($ary1(44,55,66,77);)が変更されても、プログラム自体は変更せずに使用できるとおもいます。
No.3の方がおっしゃるようにphpの初歩的な文法(例えばechoやprint文)、htmlの文法の基本(例えばtableの組み方やボーダーの付け方)を確認された方がよいと思いますよ。
No.3
- 回答日時:
回答はもうでてるので書きませんが、
文法がだいぶ間違ってます。
forの動作もわかっていないようですし。
文法やもっと基本的なことからやり直したほうがいいかと。
No.2
- 回答日時:
ちょっとしたサンプルです。
<html>
<head>
<title>for文例問題1</title>
</head>
<body>
<table border="1">
<?php
$ary1 = array(44, 55, 66, 77);
for ($total = $i = 0; $i < count($ary1); $i++) {
$total += $ary1[$i];
?>
<tr><th>値<?php print $i; ?></th>
<td><?php print $ary1[$i]; ?></td></tr>
<?php
}
?>
<tr><th>件数</th>
<td><?php print $i; ?></td></tr>
<tr><th>平均</th>
<td><?php print $total / $i; ?></td></tr>
</table>
</body>
</html>
(注)インデントのため、全角空白を使っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列をループでたくさん宣言し...
-
PHP 多次元配列変数のデータ受...
-
file_existsでファイル名の部分...
-
タブ区切りのデータでnullのデ...
-
postgresql関数をつかったレコ...
-
CSVデータの一部を変換したい
-
PHPの問題を解いているのですが…
-
【Smarty】foreach関数やsectio...
-
Smartyのテンプレートからjavas...
-
漢字のソートについて
-
配列の要素数について
-
変数の名前をループで
-
zend_dbについて
-
変数の比較
-
String だと「 ByRef引数の型が...
-
$_POST{ 変数 ] は出来ますか?
-
PHPのカッコ[ ]の使い方について
-
PHP多次元配列で重複チェック
-
チェックボックスが複数選択で...
-
チェックボックス複数選択 mys...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
$_SESSIONに二次元配列を使える...
-
file_existsでファイル名の部分...
-
配列をループでたくさん宣言し...
-
foreachのなかで次のキーを参照...
-
String だと「 ByRef引数の型が...
-
PHPのカッコ[ ]の使い方について
-
配列を回すとき、最後の要素だ...
-
配列一致(要素順番は違うが内容...
-
チェックボックス複数選択 mys...
-
漢字のソートについて
-
postgresql関数をつかったレコ...
-
ネストが深い時のforeachはどう...
-
URLのサブドメインとドメイン部...
-
OCI で、SELECT結果行数を取得...
-
【Smarty】foreach関数やsectio...
-
$_POSTを一括してサニタイズし...
-
phpで、連想配列を普通の配列に...
-
チェックボックスが複数選択で...
-
連想配列のprint_rやvar_dump出...
-
PHP 配列の添字に変数は使えない?
おすすめ情報