PHP echo特定列多维数组

PHP Echo specific column multi dimensional array

我正在 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

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

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

尝试:

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

$element[0] 是每个数组中你想要的元素, 并为 $test2 执行 foreach 或在闭包内打印。

或使用:

$arr = array_column($test, 0);

0 是您要保留的索引键。在 $arr.

上做一个 foreach

这段代码可以解决的问题:

$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];
}

如果foreach不是您的选择。

这取决于您所说的列是什么意思,但这可能就是您要查找的内容

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

这应该适合你:

$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)

打印列号的值,该值在 $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);
?>