0

前のページから送信された複数の入力タグがあります。次のように step1.php とします。

<input type="hidden" name="block01" value="001"/>
<input type="hidden" name="block02" value="012"/>
<input type="hidden" name="block03" value="002"/>
<input type="hidden" name="block04" value="005"/>
<input type="hidden" name="block05" value="008"/>
<input type="hidden" name="block06" value="015"/>

今、step2.php でこれらの入力を処理したいのですが、配列またはループのいずれかを使用してそれを行うための 2 つのオプションがあります。

配列を使用している場合、これらの入力は次のように追加されます。

<?php
$stack = array(""); //empty array declared

// I assume I have some codes here to 'catch' those inputs and put it as array_push
array_push($stack, "001", "012", "002", "005", "008", "015");
print_r($stack);
?>

配列と比較すると、この LOOP オプションもあります。

<?php
$i = 1;
$x = 'block0'.$i;
$webBlock = $_POST[$x];

while (!empty($webBlock)){
    $x = 'block0'.$i;
    $webBlock = $_POST[$x];
    echo $webBlock . "<br />";  
    $i++;
}

?>

どちらもstep2.phpに関する私の問題の解決策です。メモリ/CPUの消費量が少ないあなたの意見が必要ですか? それで全部です...

ありがとう!

4

1 に答える 1

1

最初のケースでは、array_push() と print_r() を使用しています。最初の関数はループを使用して、渡された引数をスタックにプッシュします。2 番目の関数 print_r() も、ループを使用して配列のすべての値を出力します。したがって、基本的にループを 2 回実行してタスクを実行します。

2 番目のケースでは、両方を同時に処理するコードを作成しました。したがって、このメソッドは 1 回ループするだけで済みます。さらに、print_r() と echo の動作を調べると、echo X 回を実行し、print_r() を使用して X 値を出力すると、echo は print_r よりも少し速くなります。これらすべての関数の詳細については、php のドキュメントを参照してください。

したがって、2 番目の方法が適しています。

于 2012-10-19T10:46:31.113 に答える