0
foreach ($bing_array as $bing_array_val)
{       
    foreach ($final_array as $final_array_val)
    {
        if ($final_array_val["link"] == $bing_array_val["link"])
        {

            $final_array_val["rank"] += $bing_array_val["rank"];
        }
    }
}

上記のコードには、ネストされた 2 つの foreach ループがあります。

すべての bing_array["link"] をすべての final_array["link"] に対してテストする必要があり、それらが同じ場合、final_array["rank"] の値は += bing_array["rank"] である必要がありますが、final_array をエコーすると、 ["ランク"] 値は変更されません。

これは構文の問題だと思いますが、どこが間違っているのでしょうか?

ありがとう

4

2 に答える 2

1

&参照構文 (プレフィックス)を使用する必要があります。

foreach ($final_array as &$final_array_val)
{
}
unset($final_array_val);

unset最後の値への参照を解除するには、 が必要であることに注意してください。詳細はこちらをご覧ください

于 2013-07-02T22:03:36.173 に答える