PHP二维数组应用的问题。

我假设一个二维数组
$str = array(
"住户A" => array("水" => 39,"电" => 110,"煤" => 130),
"住户B" => array("水" => 73,"电" => 310,"煤" => 120),
"住户C" => array("水" => 21,"电" => 107,"煤" => 110),
"住户D" => array("水" => 89,"电" => 99,"煤" => 98)
);

将4个用户的支出做比较,怎么用代码输出三个
单笔费用(水,电,煤)最高和最低的花费(和住户名一起输出)?
不好意思,是单笔费用哦。就是要分别输出水,电,煤,三笔费用支出最高和最低的住户。

<?php
$str = array(
"A" => array("water" => 39,"dian" => 110,"mei" => 130),
"B" => array("water" => 73,"dian" => 310,"mei" => 120),
"C" => array("water" => 21,"dian" => 107,"mei" => 110),
"D" => array("water" => 89,"dian" => 99,"mei" => 98));
foreach($str as $key=>$val){
$water[$key]=$val['water'];
$dian[$key]=$val['dian'];
$mei[$key]=$val['mei'];
}
$water_max=array_search(max($water),$water);
$water_min=array_search(min($water),$water);
$dian_max=array_search(max($dian),$dian);
$dian_min=array_search(min($dian),$dian);
$mei_max=array_search(max($mei),$mei);
$mei_min=array_search(min($mei),$mei);
echo "水费最高用户的是".$water_max."用了".max($water).";<br/>";
echo "水费最低用户的是".$water_min."用了".min($water).";<br/>";
echo "电费最高用户的是".$dian_max."用了".max($dian).";<br/>";
echo "电费最低用户的是".$dian_min."用了".min($dian).";<br/>";
echo "煤费最高用户的是".$mei_max."用了".max($mei).";<br/>";
echo "煤费最低用户的是".$mei_min."用了".min($mei).";<br/>";
?>
显示的结果是
水费最高用户的是D用了89;
水费最低用户的是C用了21;
电费最高用户的是B用了310;
电费最低用户的是D用了99;
煤费最高用户的是A用了130;
煤费最低用户的是D用了98;
ps:
数组的键名最好不要用中文,所以我都换成其他的了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-07
$str = array(
"住户A" => array("水" => 39,"电" => 110,"煤" => 130),
"住户B" => array("水" => 73,"电" => 310,"煤" => 120),
"住户C" => array("水" => 21,"电" => 107,"煤" => 110),
"住户D" => array("水" => 89,"电" => 99,"煤" => 98)
);
$arr = array();
foreach ($str as $k=>$v)
{
$arr[$k]= array_sum($v).'<br/>';
}
echo max($arr);
echo min($arr);

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网