如何在foreach循环中仅获取第二个数组值?

时间:2015-07-23 05:04:59

标签: php arrays

这就是我如何通过php函数创建和传递数组。

 Query....
while($row = $stmt->fetch())
        {
          array_push($carRate,array($row['rental_type_value'],$row['rental_by_value']));
        }
        return $carRate;

在另一个页面中,我这样收到它(OOP方式):

$selectRate=$setting->selectRate();

此输出如下print_r($selectRate);

Array ( [0] => Array ( [0] => rental_distance [1] => 90 ) [1] => Array ( [0] => rental_distance [1] => 78 ) [2] => Array ( [0] => rental_distance [1] => 67 ) ) 

现在我需要从上面的数组中只获得90,78,67,所以我尝试如下:

foreach($selectRate as $key=>$value)
{ 

    foreach($value as $v)
    {
        echo $v;
//outputs => rental_distance90rental_distance78rental_distance67
    }
}

第二次尝试:

foreach($selectRate['rental_by_value'] as $key=>$value)
    { 

        foreach($value as $v)
        {
            echo $v;
    //outputs => rental_distance90rental_distance78rental_distance67
        }
    }

这会发出错误,指出为foreach提供的无效参数。我如何只获得['rental_by_value']个数组值?

2 个答案:

答案 0 :(得分:0)

这可以帮到你     

foreach($selectRate as $value)
{
   echo $value[1];
}
?>

您甚至不需要提及自定义索引($ key)

答案 1 :(得分:0)

并且以防万一你正在使用PHP> = 5.5即使没有循环你也可以实现你想要的,你可以使用内置函数array_column()以下方式:

$values = array_column($selectRate, 1);
print_r($values);

你可以see it in action