みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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();
?>

投稿日時 - 2005-12-01 18:50:22

QNo.1813435

暇なときに回答ください

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

× yLabelFormat($aLabel) {
○ yLabelFormat($aLabel,$num) {

または
function yLabelFormat($aLabel) {
  global $num;

前者の方がお勧めです。

投稿日時 - 2005-12-01 19:08:41

お礼

kusukusuさん、ご教示ありがとうございました。

こういう風にするのですね、勉強になりました。

globalなどについてもよく調べてみます。

大変助かりました。

投稿日時 - 2005-12-01 23:18:20

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問