0

この問題で私を助けてください。7 つまたは 8 つの入力タイプをエコーアウトしようとしています。入力タイプには、データベースからの 2 つの値が必要です。
配列は、$adressX[] および $addressY と呼ばれます。Web ページの読み込み時に自動的に読み込まれます。
したがって、number が 0 の場合、値 ($addressX[0],$addressY[0]) を持つ入力タイプを作成したいと考えています。解析エラーが発生し続けます。これは、php/javascript での最初のプロジェクトです。私を助けてください。
私のコードはこのようなものです。

<?php  

for ($number=0;$number<=$array_no-1 ;$number++)
{

 echo '<input type="text" id="inputtype"."$number"
                                 value="".$adressX['.$number'],".$adressY['.$number']">';


};
                    ?>
4

3 に答える 3

2

あなたは引用符とピリオドを台無しにしていました。これを試して:

<?php  
for ($number = 0; $number <= $array_no-1; $number++) {
   echo '<input type="text" id="inputtype' . $number . '" value="' . $adressX[$number] . ',' . $adressY[$number].'" />';
}
?>

PHP が引用符と連結をどのように処理するかを読む必要がありますが、ここにいくつかの例を示します。

文字列を一重引用符で開始する場合は、文字列を一重引用符で終了/連結する必要があります。このような:

$var = 'yay';
$string = 'The value of the variable is ' . $var;
$string2 = 'The value of the variable is ' . $var . '!'; // Add another string after variable

同様に、二重引用符で開始する場合は、次のように二重引用符で終了/連結する必要があります。

$var = "yay";
$string = "The value of the variable is " . $var;
$string2 = "The value of the variable is " . $var . "!";
$string3 = "The value of the variable is $var!";

最後の例に注目してください$string3。二重引用符を使用する場合、変数を引用符内に置くことができ、PHP はそれらを解析します。ただし、私はこれを容認せず、常に連結しているため、構文の強調表示を備えた IDE を使用すると、変数がどこにあるかは明らかです。

これは、文字列を開始/終了する文字列に同じタイプの引用符を配置する例です。これを行うには、スラッシュ () を使用して、これらを区切り文字ではなく通常の引用符として解析するよう PHP に指示する必要があります。

$string = 'You\'re using escaped quotes now!'; // notice the \ in front of the ' in you're

最後に、PHP での HTML 文字列の例を次に示します。私は通常、これらの文字列を一重引用符で始めて、HTML に従来の二重引用符区切り文字を使用できるようにします。

$html = '<div class="someClass">Hello world!</div>';
于 2013-01-13T02:16:46.247 に答える
0
 <?php  
 for ($number=0;$number<=$array_no-1 ;$number++) {
     echo '<input type="text" id="inputtype'.$number'" value="'.$adressX[$number].','.$adressY[$number].'">';
}
于 2013-01-13T02:21:31.543 に答える
0

PHP のechoandprintステートメントの使用は、通常、新しい PHP プログラマーが画面に出力を取得するために使用するものです。ただし、HTML マークアップの出力を処理する場合、引用符のエスケープや構文の問題がすぐに発生する可能性があります。代わりに、 を使用sprintfして、これらのより複雑なマークアップ要素をフォーマットしてみてください。これが例です。

for ( $number = 0; $number <= $array_no - 1; $number++ )
{
    echo sprintf( '<input type="text" id="inputtype%u" value="%s,%s"/>', $number, $addressX[ $number ], $addressY[ $number ] );
}

知っておくべき重要なことは、本質的にsprintf、複雑な種類の検索とフォーマット方法による置換であるということです。最初の引数はプレースホルダーを含む文字列で、後続のすべての引数は、プレースホルダーを置き換えるためにその文字列で使用される変数です。入力文字列に続くパラメーターの数は、文字列内のプレースホルダーの数と一致する必要があります。

この例で使用されている入力文字列に%sandがあることに気付くでしょう。これらは、文字列または整数として%uの形式を意味します。フォーマットには他にもたくさんの方法がありますが、初心者として、これらはおそらく最もよく使用する方法です。%s%u

これはどのように簡単ですか?

二重引用符を使用して適切にフォーマットされた HTML スニペットを使用し、プレースホルダーを追加するだけなので簡単です。' . $variable . '視覚的には、コード全体に散在する大量のビットよりもはるかに読みやすいと思います。

そのsprintf上、PHP のはしごを上っていくにつれて、定期的に使用するものになるでしょう。それを学ぶ時間です。

于 2013-01-13T02:48:35.300 に答える