从多维数组中提取第一个值

时间:2014-07-17 14:25:26

标签: php multidimensional-array

我的数组如下:(下面是转储提取)

array(3) { 
    [0]=> array(2) { 
        [0]=> string(4) "0013" 
        [1]=> float(28.936563322435) 
    } 
    [1]=> array(2) { 
        [0]=> string(4) "0003"
        [1]=> float(35.514521271921) 
    } 
    [2]=> array(2) { 
        [0]=> string(4) "0007" 
        [1]=> float(47.577230340278) 
    } 

我想将00130007等第一个值提取到变量说$order,以便最终结果是这样的

$order= "0013,0003,0007";

我试着这样做:

foreach($array as $x){
    $order = x[0].",";
    }

但它只提取第一个元素

4 个答案:

答案 0 :(得分:3)

为了实现您的目标,您可以使用

$order = implode(',', array_column($array, 0));

答案 1 :(得分:3)

您可以使用array_map()implode()

来执行此操作
$order = implode(',', array_map(function($a) { return $a[0]; }, $array));
// string '0013,0003,0007' (length=14)

或者,如果您使用的是PHP 5.5或更高版本:

$order = implode(',', array_column($array, 0));

答案 2 :(得分:0)

for($i=0; $i<count($array); $i++){
    $res[$i]=$array[$i][0];
}
$order=implode(",", $res);

这将为您提供一个字符串,其中包含嵌套数组的第一个值,所有这些值都以逗号分隔。

答案 3 :(得分:0)

$arr = array();
foreach($a as $k=>$v){
    $arr[] = $v[0];
}
$order = implode(',', $arr);