如何从php数组中获取列值?

时间:2014-05-27 10:04:03

标签: php arrays

我的数组看起来像这样:

Array
(
[0] => Array
    (
        [filename] => Volume Selection
        [column_arr] => Array
            (
                [seq_num] => Array
                    (
                        [data_type] => N
                    )
                [user_code] => Array
                    (
                        [data_type] => C
                        [min_char] => 15
                    )
            )
    )

[1] => Array
    (
        [filename] => Job File
        [column_arr] => Array
            (
                [prop_seq_num] => Array
                    (
                        [data_type] => N
                    )
                [prop_user_code] => Array
                    (
                        [data_type] => C
                        [min_char] => 15
                    )
            )
    )
)

我想从其中的每个条目中获取 column_arr 子数组? 我怎么才能从这个数组中获得那些值

我试过这个

foreach($arr as $key => $value1)

但在这里我只是从子阵列中获取所有值

4 个答案:

答案 0 :(得分:3)

使用功能array_column()

例如:

$filenames = array_column(myArray, "filename");
foreach ( $filenames as $filename )
    echo $filename;

修改您已修改了自己的问题。现在这将成为您的解决方案:

$column_arrs = array_column(myArray, "column_arr");
foreach ( $column_arrs as $key => $column_arr )
    echo $key;

答案 1 :(得分:0)

我会回答这个问题,因为没有人可能会这样做。再次被指责回答只是为了得到更多积分,但我不在乎。有一天,每个人都有新的编程。

$array = <your array>;    
$filenames = array();
foreach($array as $elem){
   if($elem['filename'])
       $filenames[] = $elem['filename'];
}
print_r($filenames);

答案 2 :(得分:0)

您可以使用:

foreach($arr as $value) {
    echo $value['filename'] . '<br/>';
}

这将打印所有必需的值。

答案 3 :(得分:0)

如果我理解正确的话:

$arr = array( array ( 'filename' => 'Volume Selection',
                      'column_arr' => array( 'seq_num' => array( 'data_type' => 'N' ) ),
                      'user_code' => array( 'data_type' => 'C', 'min_char' => '15' )
                    ),
              array ( 'filename' => 'Job File',
                      'column_arr' => array( 'seq_num' => array( 'data_type' => 'N' ) ),
                      'user_code' => array( 'data_type' => 'C', 'min_char' => '15' )
                    )
            );

foreach( $arr as $subarr )
{
    if ( $subarr['filename'] == 'Job File' )
    {
        print_r( $subarr ) ;
    }
}