Php 如何合并这两个数组
我有一个$distNames数组,其中包含地区名称Php 如何合并这两个数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个$distNames数组,其中包含地区名称 $distNames = array(0 => "North",1 => "West",2 => "South",3 => "East"); 我有另一个名为$rdata的数组,它包含一个地区的计数 $rdata = array("North" => array("rural" => 2, "urban" => 0), "East" => array("rural" => 1, "u
$distNames = array(0 => "North",1 => "West",2 => "South",3 => "East");
我有另一个名为$rdata的数组,它包含一个地区的计数
$rdata = array("North" => array("rural" => 2, "urban" => 0),
"East" => array("rural" => 1, "urban" => 0));
$rdata = array("South" => array("rural" => 0, "urban" => 1),
"East" => array("rural" => 0, "urban" => 2));
我有另一个名为$udata的数组,它包含一个地区的计数
$rdata = array("North" => array("rural" => 2, "urban" => 0),
"East" => array("rural" => 1, "urban" => 0));
$rdata = array("South" => array("rural" => 0, "urban" => 1),
"East" => array("rural" => 0, "urban" => 2));
我必须根据区域数组合并$rdata和$udata。预期的结果是这样的
$data = array(
'North' => array('rural' =>2,'urban' => 0,'total' => 3),
'South' => array('rural' =>0,'urban' => 1,'total' => 1),
'West' => array('rural' =>0,'urban' => 0,'total' => 0),
'East' => array('rural' =>1,'urban' => 2,'total' => 3)
);
总价值应该是农村和城市的总和。谢谢你的帮助
$data = array();
for ($i = 0; $i < count($distNames); $i++) {
$tempArr = array();
$direction = $distNames[$i];
$data[$direction] = array(
'rural' => isset($rdata[$direction]['rural']) ? $rdata[$direction]['rural'] : 0,
'urban' => isset($udata[$direction]['urban']) ? $udata[$direction]['urban'] : 0,
'total' => $rdata[$direction]['rural'] + $udata[$direction]['urban']
);
}
echo "<pre>";
print_r($data);
这将适用于您定义的数组名称,即$data、$distNames、$rdata和$udata。Hii尝试使用此名称
$data = array();
$total = 0;
for ($i = 0; $i < count($distNames); $i++) {
$direction = $distNames[$i];
if(isset($tlRuralNw[$direction]) && isset($tlUrbanNw[$direction])) {
$total = $tlRuralNw[$direction] + $tlUrbanNw[$direction];
}
elseif(isset($tlRuralNw[$direction]) && !isset($tlUrbanNw[$direction])) {
$total = $tlRuralNw[$direction];
}
elseif(!isset($tlRuralNw[$direction]) && isset($tlUrbanNw[$direction])) {
$total = $tlUrbanNw[$direction];
}
elseif(!isset($tlRuralNw[$direction]) && !isset($tlUrbanNw[$direction])) {
$total = 0;
}
$data[$direction] = array(
'rural' => isset($tlRuralNw[$direction])?$tlRuralNw[$direction]:0,
'urban' => isset($tlUrbanNw[$direction])?$tlUrbanNw[$direction]:0,
'total' => $total
);
}
我是这样做的
谢谢大家的帮助。您的$udata阵列不在那里。我想应该是包含south的数组。我已经回答了尝试使用该数组: