• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:functionの中で条件分岐が効かない)

functionの中で条件分岐が効かない

このQ&Aのポイント
  • JpGraphで、HTML検索フォームからPOSTされてきた変数 $numの値に応じて縦軸の小数点以下の位数を調整したいが、うまくいかない。
  • (テスト1) 下記サンプルをそのまま実行 (テスト2) num=0にする(5行目→コメントに;4行目コメント→外す) (テスト3) 4、5行目の両方をコメントにする →結果全て同じで、縦軸は少数点第3位(0.000~8.000)まで表示されます。 (テスト4) 4行目~15行目および22行目をコメントにする。 →縦軸は、少数点第1位まで表示されます(0.0~8.0)。 JpGraphに関係なく、何か基本的なことでつまづいている気がいたしますが。
  • <?php /*01*/ include ("./JpGraph/jpgraph.php"); /*02*/ include ("./JpGraph/jpgraph_scatter.php"); /*03*/  /*04*/ //$num = 0; /*05*/ $num = 1; /*06*/  /*07*/ function yLabelFormat($aLabel) { /*08*/   if ($num == 0){ /*09*/     return number_format($aLabel,3); /*10*/   } elseif ($num == 1){ /*11*/     return number_format($aLabel,2); /*12*/   } else { /*13*/     return number_format($aLabel,1); /*14*/   } /*15*/ } /*16*/  /*17*/ $datax = array(3.58,8.61,9.32,4.29,8.57,6.27,6.72); /*18*/ $datay = array(2.78,5.68,6.12,0.63,7.27,4.43,3.83); /*19*/ $graph = new Graph(500,500,"auto"); /*20*/ $graph->SetScale("linlin"); /*21*/ $sp1 = new ScatterPlot($datay,$datax); /*22*/ $graph->yaxis->SetLabelFormatCallback('yLabelFormat'); /*23*/ $graph->Add($sp1); /*24*/ $graph->Stroke(); ?>

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

  • ベストアンサー
  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.1

× yLabelFormat($aLabel) { ○ yLabelFormat($aLabel,$num) { または function yLabelFormat($aLabel) {   global $num; 前者の方がお勧めです。

litton101
質問者

お礼

kusukusuさん、ご教示ありがとうございました。 こういう風にするのですね、勉強になりました。 globalなどについてもよく調べてみます。 大変助かりました。

関連するQ&A