gpt4 book ai didi

php - 我的简单行 'drawing'代码有什么问题?

转载 作者:行者123 更新时间:2023-12-03 08:21:14 25 4
gpt4 key购买 nike

我制作了一个简单的.php文件,该文件应该为我“画一条线”,用户可以使用表格为其指定起点和终点。通过“绘制”,我的意思是告诉您正在着色的像素。是的,我知道这仅适用于非常特定的行。
这是我的整个文件:

<html>
<head>
<title>Thing</title>
<?php
function positiveLowLine($x,$y,$x0,$x1,$y0,$y1){
return (($x1–$x0)*$y – ($y1–$y0)*$x – $x1*$y0 + $x0*$y1);
}
?>
</head>
<body>
<form name="Q1" method="post" action="<?php $_SERVER["PHP_SELF"] ?>">
<table>
<tr>
<td align="right">x0</td>
<td><input type="number" name="x0" value="<?php echo $_POST["x0"]; ?>"></td>
</tr>
<tr>
<td align="right">x1</td>
<td><input type="number" name="x1" value="<?php echo $_POST["x1"]; ?>"></td>
</tr>
<tr>
<td align="right">y0</td>
<td><input type="number" name="y0" value="<?php echo $_POST["y0"]; ?>"></td>
</tr>
<tr>
<td align="right">y1</td>
<td><input type="number" name="y1" value="<?php echo $_POST["y1"]; ?>"></td>
</tr>
</table>
</form>
<?php
if (!empty($_POST)){
$x0 = $_POST["x0"];
$x1 = $_POST["x1"];
$y0 = $_POST["y0"];
$y1 = $_POST["y1"];

$y = $y0;
for($x = $x0;$x <= $x1; $x++){
echo "Step $x | x=$x | y=$y"
if (positiveLowLine($x,$y,$x0,$x1,$y0,$y1) < 0){
$y++;
}
}
}
?>
</body>

我收到错误消息说 syntax error, unexpected '$x0' (T_VARIABLE) in /file.php on line 6(这是返回行)
但是我不明白这是什么问题。

编辑我确实看过 this post(“PHP解析/语法错误;以及如何解决它们?”),但是答案对我来说并不存在。至少我找不到它。

最佳答案

您使用了错误的减号。您正在使用(字符代码8211),而减号是-(字符代码45)。我不知道您如何拥有这个不同的角色,但是更改它会起作用。

<?php
function positiveLowLine($x,$y,$x0,$x1,$y0,$y1){
return (($x1 - $x0) * $y - ($y1 - $y0) * $x - $x1 * $y0 + $x0 * $y1);
}
?>

但是随后它指出了一个错误:
for($x = $x0;$x <= $x1; $x++){
echo "Step $x | x=$x | y=$y"
if (positiveLowLine($x,$y,$x0,$x1,$y0,$y1) < 0){
$y++;
}

回显后,如果在if上面,您缺少分号 ;

完整的工作代码:
<html>
<head>
<title>Thing</title>
<?php
function positiveLowLine($x,$y,$x0,$x1,$y0,$y1){
return (($x1 - $x0) * $y - ($y1 - $y0) * $x - $x1 * $y0 + $x0 * $y1);
}
?>
</head>
<body>
<form name="Q1" method="post" action="<?php $_SERVER["PHP_SELF"] ?>">
<table>
<tr>
<td align="right">x0</td>
<td><input type="number" name="x0" value="<?php echo $_POST["x0"]; ?>"></td>
</tr>
<tr>
<td align="right">x1</td>
<td><input type="number" name="x1" value="<?php echo $_POST["x1"]; ?>"></td>
</tr>
<tr>
<td align="right">y0</td>
<td><input type="number" name="y0" value="<?php echo $_POST["y0"]; ?>"></td>
</tr>
<tr>
<td align="right">y1</td>
<td><input type="number" name="y1" value="<?php echo $_POST["y1"]; ?>"></td>
</tr>
</table>
</form>
<?php
if (!empty($_POST)){
$x0 = $_POST["x0"];
$x1 = $_POST["x1"];
$y0 = $_POST["y0"];
$y1 = $_POST["y1"];

$y = $y0;
for($x = $x0;$x <= $x1; $x++){
echo "Step $x | x=$x | y=$y";
if (positiveLowLine($x,$y,$x0,$x1,$y0,$y1) < 0){
$y++;
}
}
}
?>
</body>

关于php - 我的简单行 'drawing'代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36752484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com