• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:冗長なソースをコンパクトにしたい)

冗長なソースをコンパクトにしたい

このQ&Aのポイント
  • CakePHP+MySqlでサイトを構築している際に、冗長なソースが問題となりました。冗長なソースをコンパクトにする方法を探しています。
  • 現在利用しているソースでは、「hogehoge」テーブルにあるデータを各列ごとに書き出しています。しかし、ソースが長くなってしまい、見づらくなっています。
  • また、値によってセルの背景色を変えるために、値を1つずつチェックしてCSSクラスを変数に代入しています。もっとスマートな方法を知りたいです。

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

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

こうですかね $month = array('jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'); for ($k = 0; $k < 12; $k++) { if($arr[ $month[$k] ] < 10 ){ $color = "pat1"; }elseif($arr[ $month[$k] ] < 20 ){ $color = "pat2"; }elseif($arr[ $month[$k] ] < 30 ){ $color = "pat3"; }else{ $color = "pat4"; } echo "<td class =".$color.">{$arr[ $month[$k] ]}</td>"; }

misoshio
質問者

お礼

ご回答ありがとうございます。 おかげさまで小さくなりました。 見れば「なるほど」と理解できるんですが、 いざ自分で組むとなるとなかなかできなくて困ったものです。

その他の回答 (1)

  • cotae_bb
  • ベストアンサー率53% (51/95)
回答No.1

こんにちは PHPをやったことがほとんどないため、正しい方法というものはわかりませんが、 月名を配列にいれておいて、それをループで回して処理をすれば、 単純計算で1/12のソース量になるのでは?

misoshio
質問者

お礼

早速のご回答ありがとうございます。 おかげさまで小さくなりました。 見れば「なるほど」と理解できるんですが、 いざ自分で組むとなるとなかなかできなくて困ったものです。

関連するQ&A