2015-01-29 2 views
0

Я экспериментирую с многомерным массивом в PHP со строками в качестве значений. Я хочу повторить все значения одного столбца, а не все значения всех столбцов.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

Пожалуйста, после того, что ожидаемый результат будет в этом примере – Rizier123

+0

'Эхо $ Вэл [0]' для первого, и т.д ... – dognose

+0

Если вы еще не видели его, вы можете взять тур здесь : http://stackoverflow.com/tour и посмотреть, как работает этот сайт: D (Welcome on SO) – Rizier123

ответ

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

Спасибо, рабочее решение – Fille

+0

@Fille Добро пожаловать!Наслаждайтесь своим днем: D (FYI: если у вас есть проблема с php, просто выполните быстрый поиск по Google с ключевыми словами проблемы, найдите его в руководстве (php.net) и попробуйте немного отладить: D) – Rizier123

+0

@Fille [ Нажмите здесь и прочитайте этот комментарий] (http://stackoverflow.com/questions/28223142/php-echo-specific-column-multi-dimensional-array#comment44837289_28223142) оставил свой вопрос. –

0

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

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

Я думаю, что он хочет первый элемент КАЖДОГО внутреннего массива. – dognose

+0

Я думаю, что его 50 \ 50 между двумя возможностями –

0

Try:

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

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

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

$arr = array_column($test, 0); 

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

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

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

0

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

$column = 0; 
foreach ($test as $val) { 
    echo $val[$column]; 
} 
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); 
?> 
Смежные вопросы