Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2012, 22:44   #1
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию Двумерный массив

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

PHP код:
<?php
$trans 
= array(
 
0=> array("Мама","Папа","Дядя",),
 
=> -3
 
=> 105,
 
3=>500,
 
4=>'Andrey',
 
8=> array("Вася","Петя","Коля")
);


foreach(
$trans as $x
foreach(
$x as $y)
    echo 
$x.' '.$y.' ';
        
?>
kilogram вне форума Ответить с цитированием
Старый 29.04.2012, 23:17   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Поясните построчно, что именно делает ваш код - начиная с первого foreach.
Andkorol вне форума Ответить с цитированием
Старый 29.04.2012, 23:33   #3
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

В первом фориче прохожусь по всем элементам массива, во втором форич ищу внутренние массивы в каждом из элементов и вывожу.
kilogram вне форума Ответить с цитированием
Старый 29.04.2012, 23:49   #4
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Вот так заработало.

Код:
<?php
$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 '<br />';
Если через фор попробовать вывести вот так, не захочет, захочет только если поменять индекс 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] . ' ';
}

Последний раз редактировалось kilogram; 29.04.2012 в 23:55.
kilogram вне форума Ответить с цитированием
Старый 29.04.2012, 23:55   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от kilogram Посмотреть сообщение
echo 'Я справился!';
Прекрасно, если это результат исключительно ваших размышлений - то вы начинаете делать успехи.

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

Последний раз редактировалось Andkorol; 29.04.2012 в 23:58. Причина: PS
Andkorol вне форума Ответить с цитированием
Старый 30.04.2012, 00:06   #6
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

А через оператор contunue может как-то перелететь можно?
kilogram вне форума Ответить с цитированием
Старый 30.04.2012, 01:32   #7
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Ух-ты, вот так получилось.

Код:
<?php
$trans = array(
 0=> array("Мама","Папа","Дядя",),
 1 => -3, 
 2 => 105,
 3=>500,
 4=>'Andrey',
 8=> array("Вася","Петя","Коля")
);


if(!empty($r))echo 'не существует';

echo '<br />';

for ($i = 0; $i < count($trans); $i++)
{
    if(empty($trans[$i])) continue;
	if (is_array($trans[$i]))
        for ($j = 0; $j < count($trans[$i]); $j++)
            echo $trans[$i][$j] . ' ';
    else
        echo $trans[$i] . ' ';
}
?>
kilogram вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
Двумерный массив svim Общие вопросы C/C++ 3 25.03.2011 13:32
Двумерный массив dota-rulit Общие вопросы C/C++ 2 12.01.2010 15:34
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
Двумерный массив на JS Seran4ek JavaScript, Ajax 14 25.10.2009 19:15