0

次のシナリオがあります。

$starterArray = array ('192.168.3.41:8013'=>0,'192.168.3.41:8023'=>0,'192.168.3.41:8033'=>0);

要件では、アプリケーションのいくつかのイベントをカウントする別の配列があります。この配列は最初の配列と同じキーを使用しますが、値は変更される可能性があります)、最後に次のようなものを持つことができます:

$processArray = array ('192.168.3.41:8013'=>3,'192.168.3.41:8023'=>5,'192.168.3.41:8033'=>7);

たとえば、スターター配列の値をプロセス配列の値で更新したい場合は、次のようにする必要があります。

$starterArray = array ('192.168.3.41:8013'=>3,'192.168.3.41:8023'=>5,'192.168.3.41:8033'=>7);

私はこれを使用して達成できることを知っています$starterArray = $processArray;

次に、いくつかの単位を配列の値に合計する必要がある場合があります。たとえば、+1 または +2 です。

次のようなものでしょうか?

foreach ($starterArray as $key => $value) {
    $starterArray[$value] = $starterArray[$value]+1;
}

次に、プロセス配列の値を 0 に設定する必要があります

foreach ($processArray as $key => $value) {
    $processArray[$value] = 0;
}

これは私が試したものですが、うまくいきません。誰かが私を助けてくれれば、本当に感謝します。前もって感謝します。

PD: これらが奇妙な要件であることは承知していますが、それが私に求められていることです...

4

3 に答える 3

1
foreach ($starterArray as $key => $value) {
    $starterArray[$key] = $value+1;
    // or $starterArray[$key] = 0;
}
于 2013-06-14T21:52:45.060 に答える
1

あなたはもうすぐそこにいます:-

foreach ($processArray as $key => $value) {
    $starterArray[$key] = $value +1;
}

その後:-

foreach ($processArray as $key => $value) {
    $processArray[$key] = 0;
}

ただし、これをすべて 1 つのループで実行できます。

foreach ($processArray as $key => $value) {
    $starterArray[$key] = $value +1;
    $processArray[$key] = 0;
}
于 2013-06-14T21:54:18.930 に答える
1

$keyではなく括弧で囲む必要があり$valueます。

または、次のことができます。

foreach ($starterArray as $key => &$value) {
    $value++; /* put here whatever formula you want */
}
于 2013-06-14T21:52:05.370 に答える