相关疑难解决方法(0)

如何对多维数组中的所有列值求和?

如何通过关联键添加所有列值?请注意,__CODE__密钥是动态的.

输入数组:

Array
(
    [0] => Array
        (
            [gozhi] => 2
            [uzorong] => 1
            [ngangla] => 4
            [langthel] => 5
        )

    [1] => Array
        (
            [gozhi] => 5
            [uzorong] => 0
            [ngangla] => 3
            [langthel] => 2
        )

    [2] => Array
        (
            [gozhi] => 3
            [uzorong] => 0
            [ngangla] => 1
            [langthel] => 3
        )
)
Run Code Online (Sandbox Code Playgroud)

期望的结果:

Array
(
    [gozhi] => 10
    [uzorong] => 1
    [ngangla] => 8
    [langthel] => 10
)
Run Code Online (Sandbox Code Playgroud)

php arrays sum multidimensional-array

107
推荐指数
7
解决办法
20万
查看次数

如何合并两个数组并对重复键的值求和?

我想按条件合并数组。如果数组键匹配则添加值,如果不匹配则保留值。

这是我的数组:

Array1
(   
    [1] => 199
    [3] => 1306
    [5] => 199
)

Array2
(  
   [3] => 199
   [4] => 199
)
Run Code Online (Sandbox Code Playgroud)

我想要的结果是:

Result
(  
   [1] => 199
   [3] => 1505
   [4] => 199
   [5] => 199    
)
Run Code Online (Sandbox Code Playgroud)

我使用了 if-else 条件,但它重复了已经匹配的值。

这是我的编码尝试:

$all=array();   
foreach($sall as $sskey => $ssvalue){
    foreach($upgradesall as $uukey => $uuvalue){
        //$sskey==$uukey?$all[] = array("id"=>$sskey, "amount"=>$ssvalue+$uuvalue):($sskey!=$uukey? $all[] = array("id"=>$sskey, "amount"=>$ssvalue):($uukey!=$sskey?$all[] = array("id"=>$uukey, "amount"=>$uuvalue):''));
        if($sskey===$uukey){
            $all[] = array("id"=>$sskey, "amount"=>$ssvalue+$uuvalue);
        }elseif($sskey!=$uukey){
            $all[] = array("id"=>$sskey, "amount"=>$ssvalue);
        }elseif($uukey!=$sskey){
            $all[] = array("id"=>$uukey, "amount"=>$uuvalue); …
Run Code Online (Sandbox Code Playgroud)

php arrays if-statement sum array-merge

3
推荐指数
1
解决办法
3906
查看次数

PHP - 合并两个关联数组(如果键存在则添加值)

我有两个关联数组,它们彼此非常相似(但不一样)它们都是单独的数组,我想将它们合并在一起,同时维护这两个数组,这可以通过以下方式完成:

  • 如果键已经存在,确保值ADD(即两个数组都包含键'龙',第一个数组的值可能是'30',第二个数组的值是'26'我希望它给我'56'
  • 如果第一个数组中不存在这些键,则只需正常合并.

我尝试过使用$tagItems = array_count_values($tagItems, $tagItems2);但是null当我尝试json编码并将其回显时,这只是给了我.

我也试过使用$tagItems = array_merge($tagItems, $tagItems2);这个添加新的键但不合并重复的键值(只保留合并的数组值).

JSON格式的数组看起来像这样,一个数组称为$ tagItems,另一个数组称为$ tagItems2

{
   "game1": 22,
   "game2": 20,
   "game3": 16,
}
{
   "game1": 22,
   "game2": 20,
   "game3": 16,
   "game4": 12,
}
Run Code Online (Sandbox Code Playgroud)

什么允许我这样做?

php arrays

1
推荐指数
1
解决办法
849
查看次数