0

私は2つの配列を持っています

a=array(a=>1,b=>2,c=>2,d=>2,e=>2,f=>2)

b=array(a,b,d)

compare_plus(array a, array b)配列 a に key== 配列 b val がある場合のように関数を作成し、このキーで配列 a の値を 1 増やします。

上記の配列 a と b の例:

c=compare_plus(a,b) =>> c=(a=>2,b=>3,c=>2,d=>3,f=>2)
4

2 に答える 2

1

既存のキーにのみ追加し、追加のキーを作成しない場合は、次のようなものが必要になります。

$a = array("a" => 1, "b" => 2, "c" => 2, "d" => 2, "e" => 2, "f" => 2);
$b = array("a", "b", "d", "g", "apple");

$c = compare_plus($a, $b);
print_r($c);

function compare_plus($arr, $plusarr){
    foreach($plusarr as $key)
        if (array_key_exists($key, $arr))
            $arr[$key]++;
    return $arr;
}

/* // Output:
Array
(
    [a] => 2
    [b] => 3
    [c] => 2
    [d] => 3
    [e] => 2
    [f] => 2
)
*/

$b から $c に追加のキーを追加するには、単純に を削除しif (array_key_exists($key, $arr))ます。

http://codepad.org/aquc5DKA

于 2013-05-14T19:46:04.090 に答える
1
$a = array('a' => 1, 'b' => 2, 'c' => 2, 'd' => 2, 'e' => 2, 'f' => 2);
$b = array('a', 'b', 'd');

$c = compare_plus($a, $b);
print_r($c);

function compare_plus($arr, $plusarr){
    foreach($plusarr as $key)
        $arr[$key]++;
    return $arr;
}

コードパッドのデモ

于 2013-05-14T19:33:30.463 に答える