我想将我的Javascript代码转换为为PHP代码创建三角形,Javascript代码可以正常工作,但PHP代码却没有。这就是我在我的PHP代码中所拥有的,我试图运行它但最终导致致命错误和未定义变量。我理解javascript但不是php ...
<?php
{
$size = $_POST['size'];
$firstChoice = $_POST['firstChoice'];
$secondChoice = $_POST['secondChoice'];
echo "<textarea>";
$allLines = '';
for ( $i = 1; $i <= $size; $i++ )
{
$oneLine = createLine ( $i, $i % 2 ? $FirstChoice : $secondChoice );
$allLines += $oneLine + "\n";
}
echo "$allLines";
function createLine ($size, $symbol) {
$aLine = '';
for ( $j = 1; $j <= $size; $j++ )
{
echo $aLine += $symbol;
}
echo "$aLine";
echo "</textarea>";
}
?>
如果size = 5
,firstChoice = #
和secondChoice = &
#
&&
###
&&&&
#####
答案 0 :(得分:1)
什么是$createLine
?看起来好像你试图将它用作一个函数,但它没有在任何地方定义。
修改强>:
您需要在php
中声明该函数function createLine($size, $symbol) {
// code
}
当你打电话给它时,只需按名称调用它,不要添加$
。
$line = createLine($a, $b);
请参阅有关php User-defined functions的文档。
<强>工作强>:
有一些问题包括:字符串连接应该使用.
运算符而不是+
,$FirstChoice
中的拼写错误,并且在使用之前需要定义函数。
<?php
$size = $_POST['size'];
$firstChoice = $_POST['firstChoice'];
$secondChoice = $_POST['secondChoice'];
function createLine($size, $symbol) {
$aLine = '';
for ($j = 1; $j <= $size; $j++) {
$aLine .= $symbol;
}
return $aLine;
}
echo "<textarea>";
$allLines = '';
for ($i = 1; $i <= $size; $i++) {
$oneLine = createLine($i, $i % 2 ? $firstChoice : $secondChoice);
$allLines .= $oneLine . "\n";
}
echo "$allLines";
echo "</textarea>";
?>
答案 1 :(得分:0)
使用createLine(...)
而非$createLine(...)
我想你有像下面这样的javascript函数
<script>
function createLine (...)
{
...
}
</script>