如何从地址中取省份城市名称?
例如,已将中国所有省份,城市已存在在数组region_list中,如何从’广东省广州市天河区天河公园'中取出‘广东省‘,’广州市‘?$region_list[$key]['id'] = $key;   //$key是从0开始的连续自然数
$region_list[$key]['parent'] = '';  //当name为省份时为0,当name为城市时为所属省份的id
$region_list[$key]['name'] = '';    //省份或城市的名称

解决方案 »

  1.   

    不是匹配'省','市',而是匹配region_list
      

  2.   

    region_list怎么匹配?可以写个简单示例出来吗?
      

  3.   


    region_list['name']中的省份,城市,是没有'省','市'等词的,只有'广东','广州','湖南',‘长沙'....
      

  4.   

    想问下你的数组region_list中,存的到底是什么?是“广东省广州市天河区天河公园”呢?还是“中国所有省份,城市”还有你的region_list用的是一维还是二维?建议用二维的!
      

  5.   


    附部分数据:$region[1]['id'] = '1';
    $region[1]['parent'] = '0';
    $region[1]['id'] = '中国';$region[2]['id'] = '2';
    $region[2]['parent'] = '1';
    $region[2]['id'] = '北京';$region[3]['id'] = '3';
    $region[3]['parent'] = '1';
    $region[3]['id'] = '安徽';$region[4]['id'] = '4';
    $region[4]['parent'] = '1';
    $region[4]['id'] = '福建';$region[5]['id'] = '5';
    $region[5]['parent'] = '1';
    $region[5]['id'] = '甘肃';....
    $region[1125]['id'] = '1125';
    $region[1125]['parent'] = '139';
    $region[1125]['id'] = '博野县';$region[1126]['id'] = '1126';
    $region[1126]['parent'] = '139';
    $region[1126]['id'] = '雄县';$region[1127]['id'] = '1127';
    $region[1127]['parent'] = '140';
    $region[1127]['id'] = '运河区';$region[1128]['id'] = '1128';
    $region[1128]['parent'] = '140';
    $region[1128]['id'] = '新华区';$region[1129]['id'] = '1129';
    $region[1129]['parent'] = '140';
    $region[1129]['id'] = '泊头市';
    ...$region[2722]['id'] = '2722';
    $region[2722]['parent'] = '322';
    $region[2722]['id'] = '青羊区';$region[2723]['id'] = '2723';
    $region[2723]['parent'] = '322';
    $region[2723]['id'] = '锦江区';$region[2724]['id'] = '2724';
    $region[2724]['parent'] = '322';
    $region[2724]['id'] = '金牛区';$region[2725]['id'] = '2725';
    $region[2725]['parent'] = '322';
    $region[2725]['id'] = '武侯区';$region[2726]['id'] = '2726';
    $region[2726]['parent'] = '322';
    $region[2726]['id'] = '成华区';...
      

  6.   

    搞得太复杂了,region_list和region又有什么关系?
      

  7.   

    建议先把数组分成各个省份,先找到省份,在到具体的省份数组里去找余下的内容。
    要不所有数据挤在一个数组,无论如何,效率是个问题。
    $region[1]['id'] = '1';
    $region[1]['parent'] = '0';
    $region[1]['name'] = '广东';$region[2]['id'] = '2';
    $region[2]['parent'] = '1';
    $region[2]['name'] = '广州';$region[3]['id'] = '3';
    $region[3]['parent'] = '1';
    $region[3]['name'] = '深圳';$str = '广东省广州市天河区天河公园';foreach($region as $k=>$v)
    {
    $patt[$v['name']] = $v['id'];
    }preg_match_all("/".implode('|',array_keys($patt))."/",$str,$m);foreach($m[0] as $v){
    echo "id为{$patt[$v]}:$v<br/>";
    }