以下のプログラムで教えていただけないでしょうか
<!DOCTYPE html>
<html><head>
<title>P222 Sample7-7 小計を求める関数</title>
</head><body><?php
$product = array(array(100,5),array(20,16),array(25,40));
?>
<table border="2">
<tr bgcolor="#AAAAAA">
<th>単価</th>
<th>個数</th>
<th>小計</th>
</tr>
<?php
for($i=0; $i<3; $i++){
$p = $product[$i][0];
$n = $product[$i][1];
$t = total($p, $n);
print "<tr><td>{$p}円</td><td>{$n}個</td><td>{$t}円</td></tr>\n";
}
function total($pr,$n)
{
return $pr*$n;
}
?>
</table></body></html>
-------------------------------------------------------------------------------------------
以上ですが、
for($i=0; $i<3; $i++){
$p = $product[$i][0];
$n = $product[$i][1];
の部分の[0];[1];ですが、配列の”要素”か”添え字”に該当する部分の[0]と[1]ですが
どんな働きがあるのでしょうか?
以上よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
> $product = array(array(100,5),array(20,16),array(25,40));
これは、視覚的に表すと、以下のようなことです。
$product
[0]
[0] ⇒ 100
[1] ⇒ 5
[1]
[0] ⇒ 20
[1] ⇒ 16
[2]
[0] ⇒ 25
[1] ⇒ 40
二次元配列なので、添字は2つ指定して、初めて目的の値を得ることができます。
[0]、[1]という指定は、おまじないでもなんでもなく、目的の値を得るための添字になります。
つまり、
$product[0][0]は100
$product[0][1]は5
$product[1][0]は20
$product[1][1]は16
$product[2][0]は25
$product[2][1]は40
ということになります。
ご回答が遅れましてすみませんでした。
その後ですが・・二次元配列3次元配列等の多次元配列ですが、私はc言語では勉強していなかったみたいです。 なので一通り読みました。
二次元配列なので、”添字は2つ”指定して、初めて目的の値を得ることができます。
[0]、[1]という指定は、おまじないでもなんでもなく、目的の値を得るための添字になります。
理解度は65%ぐらいですが、かなりわかってきました。
ちなみに
$p = $product[$i][0]; 単価
$n = $product[$i][1]; 個数
$t = total($p, $n); 小計
で、エーと・・・
まだ他にわからないところがありますが、暇暇
質問したいと思います。
今後ともよろしくお願いいたします。
No.1
- 回答日時:
>どんな働きがあるのでしょうか?
添え字を利用して配列内のデータへアクセスできる
前も同じケースで回答したかと思いますが
$product = array(array(100,5),array(20,16),array(25,40));
は明示的に書くと
$product = array(0=>array(0=>100,1=>5),1=>array(0=>20,1=>16),2=>array(0=>25,1=>40));
$iで、1次の0,1,2をつかって2次の配列にアクセス、
その配列内の0番目の要素と、1番目の要素にアクセスしています
こればっかりは配列とはこういうものだと覚えるしかありません
レスご回答くださいまして誠にありがとうございます。
現在、配列を読み直しておりました。
以前も同等の質問をしていたのを思い出しました。(悪しからず・・・)
$product = array(0=>array(0=>100,1=>5),1=>array(0=>20,1=>16),2=>array(0=>25,1=>40));
少し知れべてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPのセレクトボックスの初期値...
-
ファイルの書き込みについて教...
-
2次元配列CSVのソート
-
特定の文からメールアドレスの...
-
読み(あ行~わ行)ごとに分け...
-
数独かを判断するプログラム
-
【PHP】配列のキー名の修正は可...
-
np.stack()とnp.array()の違い
-
C言語 最大値と最小値を求めて...
-
STLのvectorで作った配列をメン...
-
PHPで10連ガチャを作成したいの...
-
fgetc関数について
-
PHPでユニークIDを作る
-
行列
-
C言語の配列をPush(追加)する...
-
System.String.Splitでエラー
-
配列の要素(value)に、変数を...
-
配列をループでたくさん宣言し...
-
【PHP】配列内のある値以上をカ...
-
Resource id #3 と表示されま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スカラーのベクトル微分
-
STLのvectorで作った配列をメン...
-
特定の文からメールアドレスの...
-
配列の要素(value)に、変数を...
-
読み(あ行~わ行)ごとに分け...
-
ファイルの書き込みについて教...
-
verilogで、配列の一部をタスク...
-
CArrayの要素としてCStringArra...
-
pythonのnumpyでの繰り返しでの...
-
C言語の配列をPush(追加)する...
-
php キーソート キーが重複した...
-
CArrayのソート
-
【PHP】配列のキー名の修正は可...
-
多次元配列をエンコードする関...
-
PHPは何故値渡しより参照渡しの...
-
cakephpでのトランザクション処...
-
pg_copy_fromの使い方について...
-
array_intersectで空欄を比較し...
-
濁点のソート
-
配列中のあるキー、値を取得し...
おすすめ情報
https://oshiete.goo.ne.jp/qa/9231613.html
は私ごとですが、今後の参考にするためにアドレスをを記述しました。
naktak様
わかりやすいご回答をくださいまして誠にありがとうございました。
なるほどですね・・・
以前質問した記憶を思い出しました・・今回も同じところで引っかかりましたが・・
プログラミングは
1度で覚えられる代物のではないので、何回となく繰り返すうちに身に付くと思います。
解決までに少々お待ちくださいませ。
今後ともよろしくお願いいたします。