Php 是否可以在数组中添加键值?
可以按照我的示例在数组中添加键值Php 是否可以在数组中添加键值?,php,arrays,sorting,multidimensional-array,Php,Arrays,Sorting,Multidimensional Array,可以按照我的示例在数组中添加键值 $a = array( '1' => '5', '2' => '7', '3' => '1'); 现在我将像这样添加更多的数组键值 $b = array( '1' => '5', '2' => '2'); 现在我想输出相同键的和 $c = array( '1' => '10', '2' => '9', '3' => '1'); 如果我想移除像这样的数组,请将 $c = array( '1' => '7'
$a = array( '1' => '5', '2' => '7', '3' => '1');
现在我将像这样添加更多的数组键值
$b = array( '1' => '5', '2' => '2');
现在我想输出相同键的和
$c = array( '1' => '10', '2' => '9', '3' => '1');
如果我想移除像这样的数组,请将
$c = array( '1' => '7', '2' => '9', '3' => '1');
像这样的减法
$minus = array('1'=>3);
foreach($minus as $k => $v){
if(isset($c[$k])){
$c[$k]-= $v;
}else{
$c[$k] = -$v;
}
}
这是为了增加:
$add = array('1'=>3);
foreach($add as $k => $v){
if(isset($add[$k])){
$c[$k]+= $v;
}else{
$c[$k] = $add[$k];
}
}
当然,您可以将这些函数包装在函数中,并让它们将新数组设置为不同的值,以防止覆盖旧数据。像这样进行减法运算
$minus = array('1'=>3);
foreach($minus as $k => $v){
if(isset($c[$k])){
$c[$k]-= $v;
}else{
$c[$k] = -$v;
}
}
这是为了增加:
$add = array('1'=>3);
foreach($add as $k => $v){
if(isset($add[$k])){
$c[$k]+= $v;
}else{
$c[$k] = $add[$k];
}
}
当然,您可以将这些函数包装在函数中,让它们将新数组设置为不同的值,以防止覆盖旧数据。如何“添加”a
和b
:
foreach($a as $key => $value) {
if(isset($b[$key])) {
$c[$key] = $a[$key] + $b[$key];
} else {
$c[$key] = $a[$key];
}
}
但是,这将忽略b
中但不在a
中的索引如何“添加”a
和b
:
foreach($a as $key => $value) {
if(isset($b[$key])) {
$c[$key] = $a[$key] + $b[$key];
} else {
$c[$key] = $a[$key];
}
}
function array_add($a, $b){
foreach ($b as $key => $value) {
if(isset($a[$key]) && is_numeric($a[$key])){
$a[$key] += $value;
}
}
return $a;
}
function array_subtract($a, $b){
foreach ($b as $key => $value) {
if(isset($a[$key]) && is_numeric($a[$key])){
$a[$key] -= $value;
}
}
return $a;
}
但是,这将忽略
b
中的索引,而不是a
中的索引。您的问题很混乱。你应该解释一下,什么是场景,你试图得到什么,它抛出了什么错误。你的问题很混乱。你应该解释,什么是场景,你试图得到什么,它抛出了什么错误。
function array_add($a, $b){
foreach ($b as $key => $value) {
if(isset($a[$key]) && is_numeric($a[$key])){
$a[$key] += $value;
}
}
return $a;
}
function array_subtract($a, $b){
foreach ($b as $key => $value) {
if(isset($a[$key]) && is_numeric($a[$key])){
$a[$key] -= $value;
}
}
return $a;
}