dポイントプレゼントキャンペーン実施中!

PHP習い始めたばかりで困っているので教えてください。。

多次元配列の要素ごとの計算ループが分からないです。

前提:多次元配列$tajiには15個の要素があり、それぞれに0か1が大量に入っています(具体的には、チェックボックスの回答に因っていて、回答される度に0か1がDBを経由して増えていく感じです)

$taji[$rone][] = $row[$rone]; //var_dumpで確認したところちゃんと多次元配列として各要素に値が入っていました。

foreach($taji as $val1){
foreach($val1 as $val2){
print array_sum($val2);
};
}

…だとエラーになってしまいます。。

希望としては、要素ごとに合計を計算して表示してほしいのですが、
array_sumは多次元配列を無視してしまうのでしょうか??
全く分からず困っているので、どなたかご教授よろしくおねがいします。

A 回答 (2件)

分解しすぎな気がしますよ(2次元配列なんですよね?)



foreach($taji as $val1){
print array_sum($val1);
}

これで出ませんか?
    • good
    • 0
この回答へのお礼

出来ました!!
もっとシンプルに考えれば良かったのですね。。

スッキリです!ありがとうございました!!!

お礼日時:2009/07/21 17:45

エラーの内容が書いてないのでなんとも言えないのですが、


マニュアルを読むとarray_sum引数の型はarray(配列)になってます。

想像ですが、おそらくforeachをすると$val2はstring型になってるのじゃないかと思います。

print array_sum($val2);

var_dump($val2);

とすれば型が確認できます。
型が配列じゃないとエラーがでると思いますので、そのエラーじゃないですか?

多次元配列をforeachで分解(分解という言葉は正しくないかもしれません)していくと、おそらく$val2は多次元配列ではなくなっていると思います。
何次元配列かわからないのでstringになってるか微妙ですが。

参考までにマニュアルのURLです。
http://jp2.php.net/manual/ja/function.array-sum. …
    • good
    • 0
この回答へのお礼

丁寧なご回答ありがとうございます!!

初心者の私にも分かりやすく説明して下さってとても感謝しています。
とても良い勉強になりました!
ありがとうございました!!!

お礼日時:2009/07/21 17:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!