Php 循环结果显示在循环外部
我试图让我的结果显示在循环内部,但由于某种原因,当我在最后添加my=a=和$\u str时,它一直显示在循环外部。但是,如果我使用.for my=并从字符串末尾删除.$\u str,它将显示在我的循环中,但不会反转foreach循环的输出,这是我试图实现的平均目标 我已经评论了我遇到问题的地方。请随意注释掉要测试的任何一行,看看我在说什么,代码已经准备好测试了Php 循环结果显示在循环外部,php,Php,我试图让我的结果显示在循环内部,但由于某种原因,当我在最后添加my=a=和$\u str时,它一直显示在循环外部。但是,如果我使用.for my=并从字符串末尾删除.$\u str,它将显示在我的循环中,但不会反转foreach循环的输出,这是我试图实现的平均目标 我已经评论了我遇到问题的地方。请随意注释掉要测试的任何一行,看看我在说什么,代码已经准备好测试了 <script type='text/javascript' src='http://www.google.com
<script type='text/javascript' src='http://www.google.com/jsapi'></script>
<?php
$file = file_get_contents("http://ichart.finance.yahoo.com/table.csv?s=GOOG&a=03&b=18&c=2004&d=04&e=17&f=2012&g=d&ignore=.csv");
$stockcontent = str_replace('Date,Open,High,Low,Close,Volume,Adj Close', '', $file);
$stockcontent = trim($stockcontent);
$stockcontentex = str_getcsv($stockcontent, "\n");
$i = 0;
$j = 0;
$_str = '';
$_str .= "<script type='text/javascript'>
google.load('visualization', '1', {'packages':['annotatedtimeline']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'High');
data.addColumn('number', 'Low');
data.addRows([";
foreach($stockcontentex as $stockexplode){
$stockex = explode(',',$stockcontentex[$i++]);
$stockexdate = explode('-', $stockex[0]);
$stockYear = $stockexdate[0];
$stockMonth = $stockexdate[1];
$stockDay = $stockexdate[2];
$stockHigh = $stockex[2];
$stockLow = $stockex[3];
//right here is where I am having the problem.
$_str = '[new Date('.$stockYear.', '.$stockMonth.', '.$stockDay.'), '.$stockHigh.', '.$stockLow.'],'. "\n".$_str;
//$_str .= '[new Date('.$stockYear.', '.$stockMonth.', '.$stockDay.'), '.$stockHigh.', '.$stockLow.'],'. "\n";
}
$_str .= "]);
var chart = new google.visualization.AnnotatedTimeLine(document.getElementById('chart_div'));
chart.draw(data, {displayAnnotations: false});
}
</script>
<div id='chart_div' style='width: 700px; height: 240px;'></div>";
echo $_str;
?>
您是否打算将“$\u str=”[新日期(“.$stockYear.”,…”改为“$\u str=…”相反,在您标记为问题的行上?您真的应该仔细阅读s和。直接从PHP生成javascript是非常危险的-一个错误放置的javascript元字符,您会破坏整个javascript代码块。@tom_yes_tom yes注释掉它,因为它不会逆转结果。$str.=$new_str
是j请为$str=$str.$new\u str
设置一个快捷方式,没有什么特别的。
<script type='text/javascript' src='http://www.google.com/jsapi'></script>
<?php
$file = file_get_contents("http://ichart.finance.yahoo.com/table.csv?s=GOOG&a=03&b=18&c=2004&d=04&e=17&f=2012&g=d&ignore=.csv");
$stockcontent = str_replace('Date,Open,High,Low,Close,Volume,Adj Close', '', $file);
$stockcontent = trim($stockcontent);
$stockcontentex = str_getcsv($stockcontent, "\n");
$i = 0;
$j = 0;
$_str = '';
$_str .= "<script type='text/javascript'>
google.load('visualization', '1', {'packages':['annotatedtimeline']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'High');
data.addColumn('number', 'Low');
data.addRows([";
$tstr = "";
foreach($stockcontentex as $stockexplode){
$stockex = explode(',',$stockexplode); // no need to do this $stockcontentex[$i++]); here
$stockexdate = explode('-', $stockex[0]);
$stockYear = $stockexdate[0];
$stockMonth = $stockexdate[1];
$stockDay = $stockexdate[2];
$stockHigh = $stockex[2];
$stockLow = $stockex[3];
//right here is where I am having the problem.
$tstr = '[new Date('.$stockYear.', '.$stockMonth.', '.$stockDay.'), '.$stockHigh.', '.$stockLow.'],'. "\n".$tstr;
}
$_str = $_str.$tstr; // $x .= $xx; is just a shotcut for $x = $x.$xx;
$_str .= "]);
var chart = new google.visualization.AnnotatedTimeLine(document.getElementById('chart_div'));
chart.draw(data, {displayAnnotations: false});
}
</script>
<div id='chart_div' style='width: 700px; height: 240px;'></div>";
echo $_str;
?>