$MapString="116.310634759589,39.990045537862,46#116.310371735567,39.989799696735005,44#116.310489333624,39.989904135209,43#116.31047961062,39.989998263946,42.5#116.310506600338,39.990206973256,52.5#116.310506600338,39.990206973256,52.5#116.311968822793,39.99050754819,43#116.312106621229,39.99047402059,43#116.31211324293001,39.990485922888006,43#116.310634759589,39.990045537862,46#116.310371735567,39.989799696735005,44#116.310489333624,39.989904135209,43#116.31047961062,39.989998263946,42.5#116.310506600338,39.990206973256,52.5#116.310506600338,39.990206973256,52.5#116.311968822793,39.99050754819,43#116.312106621229,39.99047402059,43#116.31211324293001,39.990485922888006,43#116.310634759589,39.990045537862,46#116.310371735567,39.989799696735005,44#116.310489333624,39.989904135209,43#116.31047961062,39.989998263946,42.5#116.310506600338,39.990206973256,52.5#116.310506600338,39.990206973256,52.5#116.311968822793,39.99050754819,43#116.312106621229,39.99047402059,43#116.31211324293001,39.990485922888006,43#116.310634759589,39.990045537862,46#116.310371735567,39.989799696735005,44#116.310489333624,39.989904135209,43#116.31047961062,39.989998263946,42.5#116.310506600338,39.990206973256,52.5#116.310506600338,39.990206973256,52.5#116.311968822793,39.99050754819,43#116.312106621229,39.99047402059,43#116.31211324293001,39.990485922888006,43#116.310634759589,39.990045537862,46#116.310371735567,39.989799696735005,44#116.310489333624,39.989904135209,43#116.31047961062,39.989998263946,42.5#116.310506600338,39.990206973256,52.5#116.310506600338,39.990206973256,52.5#116.311968822793,39.99050754819,43#116.312106621229,39.99047402059,43#116.31211324293001,39.990485922888006,43#116.310634759589,39.990045537862,46#116.310371735567,39.989799696735005,44#116.310489333624,39.989904135209,43#116.31047961062,39.989998263946,42.5#116.310506600338,39.990206973256,52.5#116.310506600338,39.990206973256,52.5#116.311968822793,39.99050754819,43#116.312106621229,39.99047402059,43#116.31211324293001,39.990485922888006,43#116.310634759589,39.990045537862,46#116.310371735567,39.989799696735005,44#116.310489333624,39.989904135209,43#116.31047961062,39.989998263946,42.5#116.310506600338,39.990206973256,52.5#116.310506600338,39.990206973256,52.5#116.311968822793,39.99050754819,43#116.312106621229,39.99047402059,43#116.31211324293001,39.990485922888006,43#116.310634759589,39.990045537862,46#116.310371735567,39.989799696735005,44#116.310489333624,39.989904135209,43#116.31047961062,39.989998263946,42.5#116.310506600338,39.990206973256,52.5#116.310506600338,39.990206973256,52.5#116.311968822793,39.99050754819,43#116.312106621229,39.99047402059,43#116.31211324293001,39.990485922888006,43"; $arr = explode("#",$MapString); $CityArray=""; getMapCity($arr, 10, 1, $CityArray); /********************* *@parent MapArr 数组 *@parent number 最小数值 *@parent i 次数 *@parent CityArray 取得的数值 *********************/ function getMapCity($MapArr, $number, $i,&$CityArray){ if(count($MapArr) >= $number){ $z = ceil(count($MapArr)/2); if($i==1){ //第一次取三个点信息 $CityArray[]=$MapArr[0]; $CityArray[]=$MapArr[count($MapArr)-1]; } $CityArray[]=$MapArr[$z]; $firstArray = array_slice($MapArr,0,$z); $endArray = array_slice($MapArr,$z,$z); getMapCity($firstArray,$number,++$i, $CityArray); getMapCity($endArray,$number,++$i,$CityArray); } } echo "<h1>CityArray</h1>"; var_dump($CityArray);