从多维数组中的特定数组中获取所有值

时间:2013-03-07 20:45:59

标签: php arrays loops

我一直在寻找相当多的答案,但我担心我无法找到解决这个问题的方法。我创建了一个包含邮政编码信息的多维数组。但是,我一直无法以我需要的方式将价值拉出来。这是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));
}

有关实现此目标的最佳方法的任何想法?谢谢!

3 个答案:

答案 0 :(得分:2)

此?

编辑:更新问题后。

function getDistanceByZip($zip) {
   $array = //your array here;
   foreach($array as $value) {
      if($zip == $value[0]) {
         return $value[1];
      }
   }
   return false;
}

答案 1 :(得分:0)

也许这个?

foreach ($points as $point){
   if ($point->Postcode === $codeIamLookingFor) {
       echo "Distance: " . number_format($point->D, 1);
   }
}

答案 2 :(得分:0)

function arrayseek($array, $zip){
   foreach($array as $k => $v){
       if($v[0] == $zip){
           return $v[1];
       }
   }
   return false;
}