0

たとえば、フォームがあり、配列を介して値を次のページに投稿するとします。変数を個別に出力する while ループを作成したいと思います。これは私の問題です。私は実際に XML ドキュメントを持っています。この XML ドキュメントの変数を変更します。したがって、フォームから配列を介して渡す値を実装するには、ある種のループの助けが必要であると想定しているため、ループを停止する必要があるため、while ループが役立つと推測しています。

だから私はホテルのフォームを持っています。部屋が 2 つある場合は、while ループを 2 で停止させ、配列フォーム ポストから値を挿入したいと考えています。while ループを設定する方法は知っていますが、さまざまな値を xml ドキュメントに挿入するための何らかのガイダンスが必要です。

以下に例を示します: * 2 つの部屋があり、ラベル 0 とラベル 1 を子属性タグに入れ、子 2 と子 3 を子属性タグ内の 2 番目のループに入れます。

$label[0];
$label[1];
$label[2];
$label[3];
$NumberOfRooms = $_POST['NumbersOfRooms']; 
$count = '0';

while ($count > $NumberOfRooms){ //Assuming that there is two rooms 
$xml = '<checkIn>2012-10-15 </checkIn>
<checkOut>2012-10-18</checkOut>
<numberOfAdults>1</NumberOfAdults>
<numberOfChilderen>2</NumberOfChilderen>
  <ChildAges>
  <childAge age ='."3".' /> $label[0]; 
  <childAge age ='."3".' /> $label[1]
  </ChildAges>';
$count++;
}
4

1 に答える 1

0

このコードでうまくいくと思います。

<?php
    $label[0];
    $label[1];
    $label[2];
    $label[3];
    $NumberOfRooms = $_POST['NumbersOfRooms']; 
    $xml="";

    for($count=0; $count<$NumberOfRooms; $count++)
    {
    $xml .= '<checkIn>2012-10-15 </checkIn>
    <checkOut>2012-10-18</checkOut>
    <numberOfAdults>1</NumberOfAdults>
    <numberOfChilderen>2</NumberOfChilderen>
      <ChildAges>
      <childAge age ='.$label[floor($count*2))].' />  
      <childAge age ='.$label[floor($count*2)+1].' />
      </ChildAges>';
    }
?>

コードで見たエラーは次のとおりです。

  • あなた$countは文字列として定義されました。あなたはそれを数字と比較していました。
  • 第二に、ゼロから始まったと仮定$countすると、どのようにして部屋数よりも大きくなったのでしょうか? 私はあなたがあなた<>混乱したと思います。
  • $xmlwhile ステートメントをループするたびに、変数を上書きしていました。
  • 最後に、これは単なる私の意見ですが、特定の回数だけループしたいことがわかっている場合は、forループを使用してくださいwhile。ロジックが混乱したり、条件が失われたりする可能性が低くなります。
于 2012-07-13T03:36:31.347 に答える