0

我想将用于创建三角形的 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>";         
    }
?>

它应该看起来像这样ifsize = 5firstChoice = #secondChoice = &

#
&&
###
&&&&
#####
4

2 回答 2

1

是什么$createLine?看起来好像您正在尝试将它用作函数,但它没有在任何地方定义。

编辑

你需要在php中声明函数

function createLine($size, $symbol) {
  // code
}

当你调用它时,只需按名称调用它,不要添加$.

$line = createLine($a, $b);

请参阅有关 php用户定义函数的文档。

工作

存在一些问题,包括:字符串连接应该使用.运算符 not +,输入错误$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>";
?>
于 2013-03-16T20:34:01.710 回答
0

使用createLine(...)而不是$createLine(...) 我想你有像下面这样的javascript函数

<script>
function createLine (...)
{
...
}
</script>
于 2013-03-16T20:47:14.967 回答