결과를 루프 내부에 표시하려고하지만 어떤 이유로 인해 루프가 내 = a =로 만들어 질 때 계속 표시됩니다. 끝에 $ _ str을 추가합니다. . 그러나 사용하는 경우. = 내 = 및 문자열을 끝에서. $ _ str 제거합니다 내 루프 내부에 표시하지만 달성하지 않으려 고 내 평균 목표는 foreach 루프 출력을 되돌릴 지 않습니다.루프 결과가 루프 외부에 표시됩니다.
내가 문제가있는 영역에 댓글을 달았습니다. 테스트 할 라인 중 하나를 주석 처리하고 내가 말하는 것을 보면서 코드를 이미 테스트 할 준비가되었습니다.
<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;
?>
저에게 도움이 될만한 사람에게 감사드립니다.
문제로 표시 한 줄에 대신 "$ _str = '[... $ StockYear.', ...]"$ _str. = ... "이되도록 하시겠습니까? –
[HEREDOC] (http://php.net/heredoc) 및 [json_encode()] (http://php.net/json_encode)에서 실제로 읽어야합니다 .JavaScript를 PHP에서 직접 생성하는 것은 매우 위험합니다. 단일 잘못 배치 된 자바 스크립트 메타 문자 그리고 당신은 전체 자바 스크립트 코드 블록을 깨뜨릴 수 있습니다. –
@tom_yes_tom 예, 결과를 반전하지 않기 때문에 주석 처리합니다 .. – user874185