METANIT.COM

Массив: вывести на экран двумерный массив

Не получается вывести двумерный массив. Читал вроде в учебнике что циклы могут не обязательно одинаковой длины строки и стобцы быть, вот попробовал написать код, чего-то не срабатывает.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
 $trans = array( 0=> array("Мама","Папа","Дядя",), 1 => -3, 2 => 105, 3=>500, 4=>'Andrey', 8=> array("Вася","Петя","Коля") ); foreach($trans as $x) foreach($x as $y) echo $x.' '.$y.' '; ?>

Вывести на экран двумерный массив определенным образом
Здравствуйте. Задача такая: вывести на экран двумерный массив в таком виде итд. Но выводить.

Создать двумерный массив 10*10. Вывести массив и показать
Создать двумерный массив 10*10. Вывести массив и показать, если он присутствует, элемент который.

Массив: Вывести массив на экран в строку с пробелами между словами.
Ребята, прошу Вашей помощи. Я недавно начал php учить. Запнулcя на некоторых заданиях.. Не знаю.

Дан двумерный массив размером 10*10. Вывести на экран часть массива расположенную выше главной диагонали. Массив заполняется случайными числами.
Дан двумерный массив размером 10*10. Вывести на экран часть массива расположенную выше главной.

Он выдаёт ошибку о том что не может принять некоторые параметры в кач-ве допустимых, а именно — массивы. моё решение:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
 $trans = array( 0=> array("AAA","CCC","VVV",), 1 => -3, 2 => 105, 3=>500, 4=>'Andrey', 8=> array("RRR","EEE","WWW") ); foreach($trans as $k=>$v) if(!is_array($v)) echo $k.' '.$v.' '; else foreach($v as $v) echo $v.' '.$v1.' '; //foreach($v as $v1) ?>
Notice: Undefined variable: v1 in C:\www\htdocs\test.ru\www\index.php on line 16 Мама Notice: Undefined variable: v1 in C:\www\htdocs\test.ru\www\index.php on line 16 Папа Notice: Undefined variable: v1 in C:\www\htdocs\test.ru\www\index.php on line 16 Дядя 1 -3 2 105 3 500 4 Andrey Notice: Undefined variable: v1 in C:\www\htdocs\test.ru\www\index.php on line 16 Вася Notice: Undefined variable: v1 in C:\www\htdocs\test.ru\www\index.php on line 16 Петя Notice: Undefined variable: v1 in C:\www\htdocs\test.ru\www\index.php on line 16 Коля
. else foreach($v as $k1=>$v1) echo $k.' '.$k1.' '.$v1.' ';
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
 $trans = array( 0=> array("Мама","Папа","Дядя",), 1 => -3, 2 => 105, 3=>500, 4=>'Andrey', 8=> array("Вася","Петя","Коля") ); foreach($trans as $x) { if (is_array($x)) foreach ($x as $y) echo $y . ' '; else echo $x . ' '; } echo 'Я справился!'; echo '
'
;

Если через фор попробовать вывести вот так, не захочет, захочет только если поменять индекс 8 на 5, странно как-то. 5=> array(«Вася»,»Петя»,»Коля»)

for ($i = 0; $i  count($trans); $i++) { if (is_array($trans[$i])) for ($j = 0; $j  count($trans[$i]); $j++) echo $trans[$i][$j] . ' '; else echo $trans[$i] . ' '; }

Источник

Вернуть двумерный массив php

В предыдущих примерах рассматривались только одномерные массивы, где значения элементов представляли числа, строки. Но в PHP массивы могут также быть многомерными, то есть такими, где элемент массива сам является массивом.

Например, создадим многомерный массив с помощью функции array() :

$families = array(array("Tom", "Alice"), array("Bob", "Kate"));
$families = [["Tom", "Alice"], ["Bob", "Kate"]];

Выше определенный многомерный массив $families является двухмерным (частный случай многомерного массива), который можно представить в виде таблицы:

Для элементов данного массива не установлены явным образом ключи, поэтому каждый ключ элемента представляет числовой индекс, которые по умолчанию начинаются с нуля. Поэтому чтобы обратиться к первому элементу массива, надо использовать индекс 0 — $families[0] :

$families = [["Tom", "Alice"], ["Bob", "Kate"]]; print_r($families[0]); // Array ( [0] => Tom [1] => Alice )

Но поскольку элементами массива $families являются вложенные массивы, то чтобы обратиться к элементам внутри этих вложенных массивов, нам необходимо использовать второй индекс — $families[0][0] :

$families = [["Tom", "Alice"], ["Bob", "Kate"]]; echo $families[0][0] . "
"; //Tom echo $families[0][1] . "
"; //Alice echo $families[1][0] . "
"; //Bob echo $families[1][1]; //Kate

То есть выражение $families[0] представляет обращение к первому элементу массива $families — к вложенному массиву [«Tom», «Alice»] , а выражение $families[0][0] представляет обращение к первому элементу вложенного массива, то есть, в данном случае к элементу «Tom».

Перебор многомерного массива:

      "; foreach ($family as $user) < echo ""; > echo ""; > ?>
$user

Для перебора применяется цикл foreach . Цикл проходит по всем элементам массива $families, передавая каждый элемент в переменную $family :

foreach ($families as $family)

Однако каждый элемент массива $families, который передается в переменную $family , сам является массивом. И чтобы получить элементы из вложенного массива, применяется вложенный цикл:

В итоге при переборе циклом сформируется таблица:

Многомерные массивы в PHP

Также можно определять многомерные ассоциативные массивы:

И при выводе мы получим 3 списка:

Многомерные ассоциативные массивы в PHP

Чтобы обратиться к элементу данного, также надо указать ключи в квадратных скобках. Например, обратимся к первому элементу в первом массиве. Так как ключ первого массива — «apple», а ключ первого элемента в первом массиве — число 0 (так как мы явным образом не указали ключи):

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

Допустим, вложенные массивы также представляют ассоциативные массивы:

Многомерные ассоциативные массивы в PHP и foreach

Получение и изменение элемента в этом массиве:

// присвоим одному из элементов другое значение $gadgets["phones"]["nokia"] = "Nokia 9"; // выведем это значение echo $gadgets["phones"]["nokia"];

Выше для инициализации массива применялась функция array() , но также можно использовать и сокращенный вариант с квадратными скобками:

$gadgets = [ "phones" => ["apple" => "iPhone 12", "samsumg" => "Samsung S20", "nokia" => "Nokia 8.2"], "tablets" => ["lenovo" => "Lenovo Yoga Smart Tab", "samsung" => "Samsung Galaxy Tab S5", "apple" => "Apple iPad Pro"] ];

Источник

PHP: Многомерные массивы

Массив не обязательно должен представлять из себя простой список ключей и простых значений. Каждый элемент массива может содержать в качестве значения другой массив, который в свою очередь может тоже содержать массив и так далее. Таким образом можно создавать двумерные и трехмерные массивы.

Двумерные массивы

Двумерный массив — массив, который в качестве значений хранит в себе другие массивы. Рассмотрим создание двумерного массива с помощью конструктора array() :

$flowers = array( array("розы", 100 , 15), array("тюльпаны", 60 , 25), array("орхидеи", 180 , 7) );

Массив $flowers содержит три массива. Как вы помните, для доступа к элементам одномерного массива надо указывать имя массива и ключ. То же самое верно и в отношении двумерных массивов, с одним исключением: каждый элемент имеет два ключа: первый для выбора строки, второй для выбора столбца.

Чтобы вывести элементы этого массива можно вручную прописать доступ к каждому из них, но лучше воспользоваться вложенными циклами:

Вместо номеров столбцов (индексы, присвоенные им по умолчанию) можно задавать им нужные ключи. Для этой цели используются ассоциативные массивы. Следующий массив будет хранить те же данные, но уже с использованием ключей для именования столбцов с информацией:

$flowers = array( array( "Название" => "розы", "Цена" => 100, "Количество" => 15 ), array( "Название" => "тюльпаны", "Цена" => 60, "Количество" => 25, ), array( "Название" => "орхидеи", "Цена" => 180, "Количество" => 7 ) );

Ключи создают дополнительное удобство для работы с массивом в тех случаях, когда нужно получить одно из значений. Необходимые данные можно легко найти, если обратиться к правильной ячейке, используя значимые имена строки и столбца. Однако при этом мы теряем возможность последовательно обхода массива с помощью цикла for .

Мы можем перебрать с помощью цикла for только дочерние массивы. Так как они, в свою очередь, являются ассоциативными, то для перебора их элементов нужно воспользоваться циклом foreach , или перебрать элементы вручную:

Необязательно использовать для создания двумерного массива конструктор array() , можно воспользоваться и коротким синтаксисом — квадратными скобками:

$flowers = [ [ "Название" => "розы", "Цена" => 100, "Количество" => 15 ], [ "Название" => "тюльпаны", "Цена" => 60, "Количество" => 25, ], [ "Название" => "орхидеи", "Цена" => 180, "Количество" => 7 ] ];

Трёхмерные массивы

Не обязательно ограничиваться только двумя измерениями: так же, как элементы массива могут содержать массивы, эти массивы, в свою очередь, могут содержать новые массивы.

Трёхмерный массив характеризует ширину, высоту и глубину. Если представлять двумерный массив в виде таблицы, то трёхмерный добавляет к этой таблице слои. Каждый элемент такого массива будет ссылаться на слой, строку и столбец.

Если немного модифицировать наш массив с цветами, то можно переделать его в трёхмерный. В коде, представленном ниже видно, что трёхмерный массив — массив, содержащий массив массивов:

$flowers = [ [ ["розы", 100 , 15], ["тюльпаны", 60 , 25], ["орхидеи", 180 , 7] ], [ ["розы", 100 , 15], ["тюльпаны", 60 , 25], ["орхидеи", 180 , 7], ], [ ["розы", 100 , 15], ["тюльпаны", 60 , 25], ["орхидеи", 180 , 7] ] ];

Поскольку этот массив содержит только числовые индексы, мы можем использовать для его отображения вложенные циклы:

Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011 – 2023 © puzzleweb.ru

Источник

Как вывести двумерный массив PHP?

Приветствую. Подскажите как вывести массив [slider] в такой двумерной конструкции:

Array
(
[slider] =>
images/about2.png
images/img3.png
images/news.png

Пробовал так, не получается

Простой 8 комментариев

Что ты хочешь сделать? Вывести двумерный массив? print_r эт делает.
Распарсить? Рекурсия.

function arr_rec($a) < $r = ''; if (is_array($a) < foreach($a as $v) < $r .= arr_rec($v).PHP_EOL; >> else < $r .= $a; >return $r; >

FanatPHP

FanatPHP

FanatPHP, давай по существу. если честь что сказать — то говори. люди сюда за советом обращаются, а не для наводящих вопросов.

FanatPHP

Newto

sanya_misharin

foreach($additionalFields as $slides) < foreach($slides as $slide) < echo $slide; >>

Вместо фигурных можно использовать : и endforeach в верстке
Например так

Если же вам нужен просто вывести массив sliders, то можно просто проверить что такой ключ есть и пробежаться по нему foreach ем

if (isset($additionalFields[‘slider’])) < foreach($additionalFields[‘slider’] as $slide) < echo $slide; >>

6037e9c3e1f55317888240.png

Подскажите, вот здесь на какой массив идет ссылка?

Источник

Читайте также:  Контроль версий версиями php
Оцените статью