数组新理解及应用

题目:有两个数组,一个是省份的数组,一个是省份简称的数组,省份与简称在两个数组内的位置一一对应,请写出省份与简称互相查找的代码

这是我的代码,用了两个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/>";
posted @ 2019-08-06 14:47  潇宸1998  阅读(165)  评论(0编辑  收藏  举报