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>";         
    }
?>

、、およびsize = 5_firstChoice = #secondChoice = &

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

2 に答える 2

1

$createLineですか?関数として使用しようとしているように見えますが、どこにも定義されていません。

編集

PHPで関数を宣言する必要があります

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

そして、あなたがそれを呼ぶとき、それを名前で呼ぶだけで、追加しないでください$

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

phpユーザー定義関数に関するドキュメントを参照してください。

働く

次のようないくつかの問題がありました。文字列の連結では.演算子ではなく+、のタイプミス$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

以下のようなjavascript関数があると思いますが、使用createLine(...)しないでください$createLine(...)

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