数组新理解及应用
题目:有两个数组,一个是省份的数组,一个是省份简称的数组,省份与简称在两个数组内的位置一一对应,请写出省份与简称互相查找的代码
这是我的代码,用了两个foreach
<?php function find($str) { $arr1 = array("北京", "天津", "重庆", "上海", "河北", "山西", "辽宁", "吉林", "黑龙江", "江苏", "浙江", "安徽", "福建", "江西", "山东", "河南", "湖北", "湖南", "广东", "海南", "四川", "贵州", "云南", "陕西", "甘肃", "青海", "台湾", "内蒙古", "广西", "宁夏", "新疆", "西藏", "香港", "澳门"); $arr2 = array("京", "津", "渝", "沪", "冀", "晋", "辽", "吉", "黑", "苏", "浙", "皖", "闽", "赣", "鲁", "豫", "鄂", "湘", "粤", "琼", "川", "黔", "滇", "陕", "陇", "青", "台", "内蒙古", "桂", "宁", "新", "藏", "港", "澳",); foreach ($arr1 as $key => $value) { if ($str == $value) { $target = $arr2[$key]; echo $target; break; } } foreach ($arr2 as $key => $value) { if ($str == $value) { $target = $arr1[$key]; echo $target; break; } } } find('新疆');
这是老板改良后的
<?php function province_to_short($str, $reverse=false) { $arr_province = array("北京", "天津", "重庆", "上海", "河北", "山西", "辽宁", "吉林", "黑龙江", "江苏", "浙江", "安徽", "福建", "江西", "山东", "河南", "湖北", "湖南", "广东", "海南", "四川", "贵州", "云南", "陕西", "甘肃", "青海", "台湾", "内蒙古", "广西", "宁夏", "新疆", "西藏", "香港", "澳门"); $arr_short = array("京", "津", "渝", "沪", "冀", "晋", "辽", "吉", "黑", "苏", "浙", "皖", "闽", "赣", "鲁", "豫", "鄂", "湘", "粤", "琼", "川", "黔", "滇", "陕", "陇", "青", "台", "内蒙古", "桂", "宁", "新", "藏", "港", "澳",); $target = ''; $srcArr = $arr_province; $destArr = $arr_short; if ($reverse) { $srcArr = $arr_short; $destArr = $arr_province; } foreach ($srcArr as $key => $value) { if ($str == $value) { $target = $destArr[$key]; break; } } return $target; }
$findStr = '苏';
$short = province_to_short($findStr,false);
echo $short . "<br/>";