我的PHP代码有什么问题?

时间:2013-03-16 20:32:26

标签: php

我想将我的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 = 5firstChoice = #secondChoice = &

,它应如下所示
#
&&
###
&&&&
#####

2 个答案:

答案 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>