PHP Echo специфичный столбец многомерный массив

0

Я экспериментирую с многомерным массивом в 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
  • 0
    Пожалуйста, опубликуйте ожидаемый результат в этом примере.
  • 0
    echo $val[0] для первого и т.д ...
Показать ещё 1 комментарий
Теги:
arrays
multidimensional-array
echo

6 ответов

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)

  • 0
    Спасибо, рабочее решение
  • 0
    @Fille Не за что! Приятного дня: D (К вашему сведению: если у вас проблема с php, просто выполните быстрый поиск в Google по ключевым словам этой проблемы, найдите его в руководстве (php.net) и попробуйте немного отладить: D)
Показать ещё 1 комментарий
0

Если вы хотите отобразить элементы первого внутреннего массива, тогда

foreach($test[0] as $value) echo $value."\n";
  • 0
    Я думаю, что он хочет первый элемент КАЖДОГО внутреннего массива.
  • 0
    я думаю его 50 \ 50 между двумя возможностями
0

Это зависит от того, что вы подразумеваете под колонкой, но это, вероятно, то, что вы ищете

$column = 0;
foreach ($test as $val) {
    echo $val[$column];
}
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];
}

Если foreach не ваш выбор.

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);
?>
0

Пытаться:

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

$element[0] - это элемент, который вы хотите получить от каждого массива, и делать foreach для $ test2 или печатать внутри закрытия.

Или используйте:

$arr = array_column($test, 0);

0 - ключ индекса, который вы хотите сохранить. сделать foreach на $ arr.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню