В настоящее время я пытаюсь начать использовать php для некоторых процедурных поколений и хотел отобразить свои функции в виде гистограммы:
<?php
$seed = 58521672597513854781922;
global $randomArray;
for ($i=-1000; $i<1001; $i++) {
$temp = $seed/($i+0.1)^0.5;
$tempRes = $temp.'';
$randomArray[$i] = $tempRes[5];
}
?>
<div>
<canvas id="c3" width="600" height = "200" style="border:solid 1px #000000;"></canvas>
<div>
<button onclick="Vertical_line();return true;">draw array</button>
</div>
</div>
<script>
var c3 = document.getElementById("c3");
var c3_context = c3.getContext("2d");
function Vertical_line() {
<?php
for($j=0;$j<sizeof($randomArray);$j++){
$height = 100 - 10*$randomArray[$j];
?>
c3_context.moveTo(<?php echo 300+$j;?>, 200);
c3_context.lineTo(<?php echo 300+$j;?>, <?php echo $height;?>);
c3_context.strokeStyle = "red";
c3_context.stroke();
<?php }?>
}
</script>
Я не понимаю, почему переменная $ j в качестве ключевой ссылки в моем массиве не работает. Если я заменяю его числами вручную, чтобы нарисовать одну запись в моем массиве, это работает без проблем, если я устанавливаю переменную в качестве абсолютного числа и использую ее в качестве ключа, она тоже работает, только когда я использую переменную, которая меняет свое значение, она не будет отображаться что-нибудь.
Помощь приветствуется:)