PHP 数组 - 同一键的总和值
PHP array - sum values of the same key
我有 php 个数组...
Array
(
[pages] => Array
(
[/stream/apple] => 2
[/stream/melon] => 1
[/stream/orange] => 3
[/stream/kiwi] => 1
)
)
Array
(
[pages] => Array
(
[/stream/apple] => 1
)
)
Array
(
[pages] => Array
(
[/stream/kiwi] => 1
[/stream/melon] => 4
)
)
...
...还有更多数组
我怎么能return这样的东西...
/stream/apple = 3
/stream/melon = 5
/stream/orange = 3
/stream/kiwi = 2
我找不到任何示例如何做...
也许有人可以帮助我!
这个问题不够具体,无法给出结论性的建议,如果您想通过代码而不是 SQL 查询来完成,您可以在第一个数组上使用 for each,然后添加来自其他人的价值观,这里是一个例子。
foreach ($array1 as $key => $val){
if (array_key_exists($key,$array2)) $array1[$key] += $array2[$key];
if (array_key_exists($key,$array3)) $array1[$key] += $array3[$key];
}
foreach 循环允许您遍历数组而无需担心它的长度。
所以你然后使用 $key 来存储循环遍历数组键的值。
和$val将数组的值存储在该键中。
然后你使用一个非常有用的函数 array_key_exists(key , array) 来检查你的密钥是否re in 存在于其他数组中,如果存在,则将其值添加到第一个数组中。
希望对您有所帮助!
编辑
要遍历无限数量的数组,您可以使用相同的过程。
以下是操作方法。
// You have all the arrays stored in $array_Nest
// And you will store the totals in $array_Total
foreach($array_Nest as $key_Nest => $val_Nest){
foreach ($array_Total as $key_Total => $val_Total){
if (array_key_exists($key_Total,$array_Nest[$key_Nest])){
$array_Total[$key_Total] += $array2[$key_Nest][$key_Total];
}
}
}
所以基本上每个$array_Nest[$key_Nest]都是一个数组,以后你只需要和之前一样的步骤就可以了
我有 php 个数组...
Array
(
[pages] => Array
(
[/stream/apple] => 2
[/stream/melon] => 1
[/stream/orange] => 3
[/stream/kiwi] => 1
)
)
Array
(
[pages] => Array
(
[/stream/apple] => 1
)
)
Array
(
[pages] => Array
(
[/stream/kiwi] => 1
[/stream/melon] => 4
)
)
...
...还有更多数组
我怎么能return这样的东西...
/stream/apple = 3
/stream/melon = 5
/stream/orange = 3
/stream/kiwi = 2
我找不到任何示例如何做... 也许有人可以帮助我!
这个问题不够具体,无法给出结论性的建议,如果您想通过代码而不是 SQL 查询来完成,您可以在第一个数组上使用 for each,然后添加来自其他人的价值观,这里是一个例子。
foreach ($array1 as $key => $val){
if (array_key_exists($key,$array2)) $array1[$key] += $array2[$key];
if (array_key_exists($key,$array3)) $array1[$key] += $array3[$key];
}
foreach 循环允许您遍历数组而无需担心它的长度。
所以你然后使用 $key 来存储循环遍历数组键的值。
和$val将数组的值存储在该键中。
然后你使用一个非常有用的函数 array_key_exists(key , array) 来检查你的密钥是否re in 存在于其他数组中,如果存在,则将其值添加到第一个数组中。
希望对您有所帮助!
编辑
要遍历无限数量的数组,您可以使用相同的过程。 以下是操作方法。
// You have all the arrays stored in $array_Nest
// And you will store the totals in $array_Total
foreach($array_Nest as $key_Nest => $val_Nest){
foreach ($array_Total as $key_Total => $val_Total){
if (array_key_exists($key_Total,$array_Nest[$key_Nest])){
$array_Total[$key_Total] += $array2[$key_Nest][$key_Total];
}
}
}
所以基本上每个$array_Nest[$key_Nest]都是一个数组,以后你只需要和之前一样的步骤就可以了