• ベストアンサー

多次元配列の計算方法について

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は多次元配列を無視してしまうのでしょうか?? 全く分からず困っているので、どなたかご教授よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • koke29
  • ベストアンサー率58% (114/196)
回答No.1

分解しすぎな気がしますよ(2次元配列なんですよね?) foreach($taji as $val1){ print array_sum($val1); } これで出ませんか?

minejas
質問者

お礼

出来ました!! もっとシンプルに考えれば良かったのですね。。 スッキリです!ありがとうございました!!!

その他の回答 (1)

  • honoka69
  • ベストアンサー率50% (6/12)
回答No.2

エラーの内容が書いてないのでなんとも言えないのですが、 マニュアルを読むと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.php

minejas
質問者

お礼

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

関連するQ&A