PHP Echo特定列多维数组

时间:2015-01-29 19:38:11

标签: php arrays multidimensional-array echo

我在PHP中尝试使用字符串作为值的多维数组。我想要回显一个列的所有值,而不是所有列的所有值。

首先我创建数组!

$test = array
(
  array("hoge", "bomen", "vangen"),
  array("moeten", "we", "rekening"),
  array("voor", "deze", "tijd")
  );    ``

此foreach输出所有值!

foreach ($test as $val) {

    echo "$val" . "<br/>";
    }

如何仅输出第2列的值?而不是所有列的值。

我想要这个输出:

bomen
we
deze

6 个答案:

答案 0 :(得分:1)

这应该适合你:

$test = array(
          array("hoge", "bomen", "vangen"),
          array("moeten", "we", "rekening"),
          array("voor", "deze", "tijd")
        );   

               //vv Go trough each innerArray
foreach($test as $v) 
    echo $v[1] . "<br />";
       //^^^^^ Print the second element of each innerArray

输出:

bomen
we
deze

另外有关数组的更多信息,请参阅手册:http://php.net/manual/en/language.types.array.php(该手册始终是搜索事物和学习它的好参考:D)

答案 1 :(得分:0)

如果要显示第一个内部数组的元素,那么

foreach($test[0] as $value) echo $value."\n";

答案 2 :(得分:0)

尝试:

$test2 = array_map( 
                    function($element){ 
                        return $element[0]; 
                    },  
                    $test 
          );

$element[0]是每个数组所需的元素, 并为$ test2做一个foreach或在封闭内打印。

或使用:

$arr = array_column($test, 0);

0是您要保留的索引键。在$ arr上做一个foreach。

答案 3 :(得分:0)

此代码可以解决问题:

$test = array
(
  array("hoge", "bomen", "vangen"),
  array("moeten", "we", "rekening"),
  array("voor", "deze", "tijd")
  );
  for($i=0; $i<count($test);$i++) {
    echo $test[$i][1];
}

如果不是你的选择。

答案 4 :(得分:0)

这取决于你的意思是什么,但这可能是你正在寻找的

$column = 0;
foreach ($test as $val) {
    echo $val[$column];
}

答案 5 :(得分:0)

打印列号的值,该值在$column变量中设置。

<?php
    $test = array(
        array("hoge", "bomen", "vangen"),
        array("moeten", "we", "rekening"),
        array("voor", "deze", "tijd")
    );

    $column = 1; // number of the column you want
    array_map(function($v) use ($column) {
        echo $v[$column-1] . " ";
    },$test);
?>