从多维数组中获取数据

时间:2012-09-16 19:37:23

标签: php arrays multidimensional-array

我有一个看起来像这样的数组:

Array
(
    [1] => Array
    (
        [0] => Awesomedude123
        [1] => 399,408
        [2] => September 16, 2012
    )

    [2] => Array
    (
        [0] => Username11
        [1] => 1,914,144
        [2] => September 16, 2012
    )

    [3] => Array
    (
        [0] => EpicSurfer
        [1] => 1,031,427
        [2] => September 16, 2012
    )
)

我想要做的是从里面抓取数据。我想从每个数组中获取这些数据:

Array
(
    [1] => Array
    (
        [0] => Awesomedude123
        [1] => 399,408  <----
        [2] => September 16, 2012
    )

    [2] => Array
    (
        [0] => Username11
        [1] => 1,914,144 <----
        [2] => September 16, 2012
    )

    [3] => Array
    (
        [0] => EpicSurfer
        [1] => 1,031,427 <----
        [2] => September 16, 2012
    )
)

我怎样才能做到这一点?我的实际文件实际上要大得多,我想从每个数组中获取这些数据。任何帮助将非常感谢!对不起,如果我的问题听起来很混乱,我真的没办法解释它。

5 个答案:

答案 0 :(得分:2)

我不知道你是否计划在你的阵列中循环,但这是一个过于简单的方法:

foreach ($array as $index => $data) {
    echo $data[1];
}

答案 1 :(得分:1)

这里假设$array是你的主阵列:

foreach ($array as $element) {
    echo $element[1] . '<br />';
}

答案 2 :(得分:0)

这应该有效:

foreach ($x as $k => $v) {
    echo $v[1];
}

答案 3 :(得分:0)

$b = array_map(function($item) { return $item[1]; }, $your_array);

检查http://php.net/manual/en/function.array-map.php

上的array_map函数

答案 4 :(得分:0)

也许您需要这样的递归函数:

function extend( $arr, $myArr=array() ) {
    foreach( $arr as $key => $value ) {
        if( is_array( $key ) ) {
            extend( $arr[ $key ] );
        } else {
            $myArr[ $key ] = $arr[ $key ];
        }
    }
    return $myArr;
}

但是,如果您只需要访问单个元素,则需要使用数组键获取特定元素,如下所示:

$value = $myArray['subArray']['element'];