加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP函数参数为数组时输出图形的问题

发布时间:2022-12-03 12:01:28 所属栏目:PHP教程 来源:转载
导读: 我的PHP程序中,函数DrawLineChar($CR_Sum,$date_list)中的参数$CR_Sum和$date_list如果在主程序中定义为常量(如程序一所示)PHP函数,那么折线图是正确可以显示的。但是如果在主程序中将参

我的PHP程序中,函数DrawLineChar($CR_Sum,$date_list)中的参数$CR_Sum和$date_list如果在主程序中定义为常量(如程序一所示)PHP函数,那么折线图是正确可以显示的。但是如果在主程序中将参数设为变量(是调用其他函数的返回值)时,那么图形就显示不出来,只显示一个黑色背景(我调试时,发现这两个参数如果在函数DrawLineChar()中用print_r()函数打印是可以输出到浏览器的),(如程序二所示)。请问这是什么原因

下面是我的程序

程序一:

function DrawLineChar($CR_Sum,$date_list)

{

include("/usr/share/php/jpgraph/src/jpgraph.php");

include("/usr/share/php/jpgraph/src/jpgraph_line.php");

#print_r($CR_Sum);

#print_r($date_list);

$graph=new Graph(500,300);

$graph->SetScale("textlin");

$graph->SetShadow();

$graph->img->SetMargin(60,30,30,70);

$graph->graph_theme=null;

$lineplot1=new LinePlot($CR_Sum);

$lineplot1->value->SetColor("red");

$lineplot1->value->Show();

$graph->Add($lineplot1);

$graph->title->Set("CR Line Charts");

$graph->xaxis->title->Set("Date");

$graph->yaxis->title->Set("Number");

$graph->title->SetMargin(10);

$graph->xaxis->title->SetMargin(10);

$graph->yaxis->title->SetMargin(10);

//$date=array_keys($date_list_para);

$graph->xaxis->SetTickLabels($date_list);

$graph->Stroke(); //输出图像

}

$date_list_para=array(

'2018-05-06',

'2018-05-07',

'2018-05-08',

'2018-05-10',

'2018-05-11'

);

$CR_Sum_para=array(

2,3,4,5,6);

DrawLineChar($CR_Sum_para,$date_list_para);

程序二

include ("ConnDB4.php");

include("CRSumV3.php");

include("CRDatProv5.php");

include("FetchCRPerDayv4.php");

include("DateListv2.php");

function DrawGraLineDate($CR_Sum,$date_list)

{

include("/usr/share/php/jpgraph/src/jpgraph.php");

include("/usr/share/php/jpgraph/src/jpgraph_line.php");

#print_r($CR_Sum);

#print_r($date_list);

$graph=new Graph(500,300);

$graph->SetScale("textlin");

$graph->SetShadow();

$graph->img->SetMargin(60,30,30,70);

$graph->graph_theme=null;

$lineplot1=new LinePlot($CR_Sum);

$lineplot1->value->SetColor("red");

$lineplot1->value->Show();

$graph->Add($lineplot1);

$graph->title->Set("CR Line Charts");

$graph->xaxis->title->Set("Date");

$graph->yaxis->title->Set("Number");

$graph->title->SetMargin(10);

$graph->xaxis->title->SetMargin(10);

$graph->yaxis->title->SetMargin(10);

$graph->xaxis->SetTickLabels($date_list);

$graph->Stroke(); //输出图像

}

ConnDB4();

$taskID=$_POST['taskID'];

$orig_date_list=CRDatPro($taskID);

$original_CR=FetchCRPerDay($taskID);

$date_list_para=DateList($orig_date_list);

$CR_sum_para=CR_Sum($original_CR);

DrawGraLineDate($CR_sum_para,$date_list_para);

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!