Я экспериментирую с многомерным массивом в 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
Это должно сработать для вас:
$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)
Если вы хотите отобразить элементы первого внутреннего массива, тогда
foreach($test[0] as $value) echo $value."\n";
Это зависит от того, что вы подразумеваете под колонкой, но это, вероятно, то, что вы ищете
$column = 0;
foreach ($test as $val) {
echo $val[$column];
}
Этот код может решить проблему:
$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
.
<?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);
?>
Пытаться:
$test2 = array_map(
function($element){
return $element[0];
},
$test
);
$element[0]
- это элемент, который вы хотите получить от каждого массива, и делать foreach для $ test2 или печатать внутри закрытия.
Или используйте:
$arr = array_column($test, 0);
0
- ключ индекса, который вы хотите сохранить. сделать foreach на $ arr.
echo $val[0]
для первого и т.д ...