Как добавить ключ и значения в массив?

например

$array1 = array(item1=>5,item2=>7);
$array2 = array(item1=>5,item3=>7);

На самом деле я хочу сначала проверить массив, если такой же ключ существует означает, что значение должно быть (арифметически) добавлено в противном случае
если не существует, то он непосредственно передается в массив.

мой вывод будет как

$nov-2014 =array(item1=>10,item2=>7,item3=>7)

2

Решение

Вы можете просто использовать простой for и foreach для этой цели. Конечно, создайте окончательный контейнер. Инициализируйте значения, затем просто непрерывно добавляйте ключи:

$array1 = array('item1'=>5,'item2'=>7);
$array2 = array('item1'=>5,'item3'=>7);

$result = array();
for($x = 1; $x <= 2; $x++) {
foreach(${"array$x"} as $key => $values) {
if(!isset($result[$key])) $result[$key] = 0; // initialize
$result[$key] += $values; // add
}
}

print_r($result);

Пример вывода

3

Другие решения

Попробуй это:

$array1 = array(
'item1' => 5,
'item2' => 7
);
$array2 = array(
'item1' => 5,
'item3' => 7
);
$array_new = $array2;
foreach ($array1 as $key => $value) {
if (!in_array($key, $array2)) {
$array_new[$key] = $value + $array2[$key];
}
}
3

Я думаю, что нет встроенной функции PHP, используйте foreach,

$array1 = array('item1' => 5, 'item2' => 7);
$array2 = array('item1' => 5, 'item3' => 7);
$result = $array1;

foreach ($array2 as $key => $val) {
if (isset($result[$key])) {
$result[$key] += $val;
} else {
$result[$key] = $val;
}
}

/*
Output:
Array
(
[item1] => 10
[item2] => 7
[item3] => 7
)
*/
2

Пытаться array_merge. Для ассоциативных массивов это будет держать те же ключи

-2
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector