1

我一直在寻找这个问题的答案,但恐怕我一直无法找到解决这个问题的方法。我创建了一个包含邮政编码信息的多维数组。但是,我无法以我需要的方式从中提取价值。这是 print_r() 的示例:

Array ( 
[0] => Array ( 
    [0] => 59101 
    [1] => 0.0 )
[1] => Array ( 
    [0] => 59102 
    [1] => 5.0 )
[2] => Array ( 
    [0] => 59105 
    [1] => 6.8 )
[3] => Array ( 
    [0] => 59106 
    [1] => 9.2 )
[4] => Array ( 
    [0] => 59037 
    [1] => 12.7 )
[5] => Array ( 
    [0] => 59044 
    [1] => 13.9 )
[6] => Array ( 
    [0] => 59002 
    [1] => 16.6 )
[7] => Array ( 
    [0] => 59079 
    [1] => 19.3 )

)

我需要查看特定邮政编码的数组,然后获取与该邮政编码关联的距离(每个数组中的第二个值)。我曾考虑重组阵列,但我不确定如何完成它。这是我当前的代码:

编辑##对不起,我可能不清楚。下面的代码是我用来构建数组的代码,而不是从数组中提取信息。我不知道如何从数组中获取信息。

$rArray = array();
foreach ($points as $point){
    $zips = $point->Postcode;
    $dists =  number_format($point->D,1);
    array_push($rArray,array($zips,$dists));
}

关于实现这一目标的最佳方法的任何想法?谢谢!

4

3 回答 3

2

这?

编辑:在你的问题更新之后。

function getDistanceByZip($zip) {
   $array = //your array here;
   foreach($array as $value) {
      if($zip == $value[0]) {
         return $value[1];
      }
   }
   return false;
}
于 2013-03-07T21:04:37.553 回答
0

也许这个?

foreach ($points as $point){
   if ($point->Postcode === $codeIamLookingFor) {
       echo "Distance: " . number_format($point->D, 1);
   }
}
于 2013-03-07T20:51:15.467 回答
0
function arrayseek($array, $zip){
   foreach($array as $k => $v){
       if($v[0] == $zip){
           return $v[1];
       }
   }
   return false;
}
于 2013-03-07T20:54:00.293 回答