Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как вывести массив с помощью for?
 
 автор: devil943   (27.10.2007 в 01:13)   письмо автору
 
 

Как вывести массив с помощью for? Массив двумерные, ни в вашей книжке (PHP 5) не нашел.

пользовался foreach, но мне нужно так в самом массиве выводить значения [i,1][1,j]

Как это делать не знаю(((

   
 
 автор: antf   (27.10.2007 в 03:10)   письмо автору
 
   для: devil943   (27.10.2007 в 01:13)
 


<?php
//$arr[0] =
$arr[] = array("php""asp""perl""parser""c++");
//$arr[1] =
$arr[] = array("windows""linux""beos""macos""qnx""unix""anosov");
//$arr[2] =
$arr[] = array("mysql""mssql""postgresql""sybase""oracle""access");

$cnt count($arr);
for(
$i 0$i $cnt$i++)
{
   
$cnt2 count($arr[$i]);
  for(
$b 0$b $cnt2$b++)
     print 
$arr[$i][$b].", ";
  print 
"<br>";
}


?>

   
 
 автор: devil943   (27.10.2007 в 14:17)   письмо автору
 
   для: antf   (27.10.2007 в 03:10)
 

Вот весь php код
<?php 
echo ("<table cellspacing='0' cellpadding='0'><tr><td></td>"); 
    
$pit "<div class='pit'"
    
$dev "<div class='dev'"
    
$sta "<div class='sta'"
    
$d_y "<div class='d_y' style=''"
    
$d_x "<div class='d_x' style=''"
    
$d_start_xy "<div class='d_xy' style=''"
     
    
$y[$i][$j] = array ( 
        
"$d_start_xy >x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y" => array ("$d_y >-115""$d_y >-116""$d_y >-117"
"$d_y >-118""$d_y >-119""$d_y >-120",
"$d_y >-121","$d_y >-122","$d_y >-123",
"$d_y >-124","$d_y >-125","$d_y >-126",
"$d_y >-127","$d_y >-128","$d_y >-129",
"$d_y >-130","$d_y >-131","$d_y >-132",
"$d_y >-133","$d_y >-134","$d_y >-135",
"$d_y >-136"),  
        
"$d_x >-115" => array ("$sta title='(-115|-115)'>Ш",
"$sta title='(-115|-116)'>Ш",
"$sta title='(-115|-117)'>Ш",
"$sta title='(-115|-118)'>Ш",
"$sta title='(-115|-119)'>Ш",
"$sta title='(-115|-120)'>Ш",
"$sta title='(-115|-121)'>Ш",
"$sta title='(-115|-122)'>Ш",
"$sta title='(-115|-123)'>Ш",
"$sta title='(-115|-124)'>Ш",
"$sta title='(-115|-121)'>Ш",
"$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш"), 
        
"$d_x >-116" => array ("$sta title='($y[$i]'>Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш"),  
        
"$d_x >-117" => array ("$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш"),  
        
"$d_x >-118" => array ("$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш"),  
        
"$d_x >-119" => array ("$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш"),  
        
"$d_x >-120" => array ("$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш"), 
        
"$d_x >-121" => array ("$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш"),  
        
"$d_x >-122" => array ("$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш"),  
        
"$d_x >-123" => array ("$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш"),  
...
        
"$d_x >-135" => array ("$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш","$sta >Ш","$sta >Ш","$sta >Ш",
"$sta >Ш"
    ); 
    foreach(
$y as $x => $type
    { 
        echo(
"</tr><tr><td>$x</td>"); 
        foreach(
$type as $y
        { 
            echo(
"<td>$y</div></td>"); 
        } 
    } 
echo(
"</tr></table>"); 
?>

Мне нужно было, что бы помимо того, что он вводит, каждая ячейка таблицы при навеении возвращала title='($y[$i]'

У вас в коде создается несколько одномерныех массивов, мне же нужен двумерный.

   
 
 автор: devil943   (27.10.2007 в 14:45)   письмо автору
 
   для: devil943   (27.10.2007 в 14:17)
 

Результат тут: http://2lans.com/forum//skin_acp/nemesis/karte.php

Добавил вот чо:

foreach($y as $x => $type)
{
$z_x = $x;
echo("</tr><tr><td>$x</td>");
foreach($type as $y)
{
$z_y = $y;
echo("<td>$y</div></td>");
}
}


В title добавил $z_x и $z_y.... ну должн же работать! ан нет :(

   
 
 автор: kasmanaft   (27.10.2007 в 14:56)   письмо автору
 
   для: devil943   (27.10.2007 в 14:17)
 

>> У вас в коде создается несколько одномерныех массивов, мне же нужен двумерный.
Двумерный массив - это массив, элементы которого сами являются массивами. Т.е. именно то, что показал antf. А у Вас что-то страшное и непонятное :). Да и код генерирует невалидный.

>> Мне нужно было, что бы помимо того, что он вводит, каждая ячейка таблицы при навеении возвращала title='($y[$i]'
</tr><tr><td>$x</td> - $x у Вас здесь это тег div. Открытый. Как после него может идти </td>, если div не закрыт ? И собственно Ваш "title='($y[$i]'" нужно как-то засунуть в $x (который в свою очередь является ключем массива %)

UPD
>> В title добавил $z_x и $z_y.... ну должн же работать! ан нет :(
Где Вы чего добавили?

   
 
 автор: devil943   (27.10.2007 в 16:49)   письмо автору
 
   для: kasmanaft   (27.10.2007 в 14:56)
 

див закрыл в массиве, посмотрите вниательнее.

>Где Вы чего добавили?
Вторая строка массива (если считать его матрицей n x n)

А про массив товарища: там каждому одномерному массиву присвайвается свое имя. Так что там, в отличии от моего, всетаки набор одномерных массивов, а у меня - двумерный.
ЗЫ я делал про книжке PHP 5 на примерах (Кузнецов, галышев, симудянов).

   
 
 автор: kasmanaft   (27.10.2007 в 18:21)   письмо автору
 
   для: devil943   (27.10.2007 в 16:49)
 

>> див закрыл в массиве, посмотрите вниательнее.
Я имею ввиду закрывающий тег </div>. Он хоть и закрыт, но не там, где положено.

>> Вторая строка массива (если считать его матрицей n x n)
А... я думал речь о чем-то отсюда:
foreach($y as $x => $type)
{
$z_x = $x;
echo("</tr><tr><td>$x</td>");
foreach($type as $y)
{
$z_y = $y;
echo("<td>$y</div></td>");
}
}

Ну так ведь "подсказка" появляется у нескольких первых ячеек в таблице...

>> А про массив товарища: там каждому одномерному массиву присвайвается свое имя
То есть "свое имя" ? Массив как массив.. такой же как у Вас. (правда не пойму зачем использовать индексы $y[$i][$j]... И что из этого вышло, тоже не соображу).
>> набор одномерных массивов, а у меня - двумерный.
Это одно и то же.

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

   
 
 автор: devil943   (27.10.2007 в 20:22)   письмо автору
 
   для: kasmanaft   (27.10.2007 в 18:21)
 

>>> див закрыл в массиве, посмотрите вниательнее.
>Я имею ввиду закрывающий тег </div>. Он хоть и закрыт, но не там, где положено.
Нет, проверил, там.

>Ну так ведь "подсказка" появляется у нескольких первых ячеек в таблице...
да, там я тупо писал title=и цыфры. Но мне еще 100000 ячеек так обрабатывать, я хочу все автоматизировать.
>>> А про массив товарища: там каждому одномерному массиву присвайвается свое имя
>То есть "свое имя" ? Массив как массив.. такой же как у Вас. (правда не пойму зачем использовать индексы $y[$i][$j]... И что из этого вышло, тоже не соображу).
>>> набор одномерных массивов, а у меня - двумерный.
>Это одно и то же.
Дык там больше кода будет, если мои данные прописать.
>
>Посмотрите код, генерируемый скриптом... Приведите его к читаемому виду.. а то ничего не понять.
дело не в том коде.
Рассмотрим вот это место:

foreach($y as $x => $type)
  {        
  echo("</tr><tr><td>$x</td>");
  $z_x = $x;        
    foreach($type as $y)
    {        
       echo("<td>$y</div></td>");    
       $z_y = $y;        
    }
  }

после

foreach($y as $x => $type)

$z_x должна по идее забирать значение x если пробег первый, то это x y, если второй, то -115 и тд, весь первый столбец.
так что допусти у нас третий пробег уже, $z_x в таком положении получил значение -116. Потом идет пробег y. Его первое значение на третьем пробеге - Ш, значет этому должно равняться z_y. Тогда при выводе этого элемента "$sta title='($z_x | $z_y'>Ш" должно получиться -166 | Ш
Воть... но не получается.
>И можно, наверное, обойтись без этого огромного двумерного массива. Как-то построить его автоматически в цикле.
Если вы подскажете хотя бы идею, то буду вам очень благодарен. Но проблема состоит в том, что некоторые элементы масива должны быть не Ш, а П, Д.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования