0

とても簡単な質問があります。このコードを作成するにはどうすればよいですか

$i = 0;
foreach($Array as $Value)
{

    echo $i;
    $i++
}

しかし、このように書かれていますか?

foreach($Array as $Value)
{
    $i = 0;
    echo $i;
    $i++
}

STATIC 変数を使用する必要がありますか? または何?私はこれについて明確な見解を持っていません。

ありがとうございました!

4

2 に答える 2

2

あなたは本当にそれをすべきではありません。静的変数は、変数が埋め込まれている関数の呼び出し間で変数の値を永続化するために使用されます。単純なループには役立ちません。2 番目のコードは、反復ごとにカウンターをゼロにリセットするだけです。

たとえば、これは正しい使い方です:

function count() {
   static $x = 0; // executed the first time count() is called, then never again"
   echo ++$x;
}
count(); // 1
count(); // 2
count(); // 3

あなたは確かに持つことができます

foreach($array as $val) {
   static $x = 0;
   echo ++$x;
}

しかし、そのコードの特定の部分がループ中に範囲外になることは決してないため、何も得られません。そのため、$x の値が「失われる」ことはありません。

于 2012-07-20T14:41:14.027 に答える
1

あなたは使用したいかもしれません

foreach($Array as $i => $Value)
{
    echo $i;    
}

また

foreach(array_values($Array) as $i=>$Value)
{

    echo $i;
}

最初にあなたの例も正しいですが、

于 2012-07-20T14:38:28.570 に答える