Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: вывод массива в цыкле [2]
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » вывод массива в цыкле

Страниц (2): « 1 [2]
 

16. dcc0 - 23 Апреля, 2015 - 14:36:43 - перейти к сообщению
LIME минусы в принципе понятны, но я всегда готов слушать, я же говорил, что у меня нет амбиций проф. программиста, и конкуренцию я составить не могу ( на хлеб зарабатываю видеомонтажом Улыбка)
17. LIME - 23 Апреля, 2015 - 14:36:49 - перейти к сообщению
вот мелкий сейчас смотрит
буду сейчас учить именовать переменные))
если конечно автор захочет)))
(Добавление)
0 - плохо понимаемые переменные
dcc0 пишет:
$ac
это что такое? непонятно
очень хочу прочитать твой код
очень хочу
но вижу ас и хотелка отмирает
------
dcc0 пишет:
$ii
еще хуже
и кстати не уверен в правильности решения
(Добавление)
пример правильного имени
ab - firstChunck
(Добавление)
можешь любой алгоритм приводить
никто читать не удосужится
а глянь на мой псевдокод выше
даже псевдокод я постарался выразить в говорящих названиях
все понятно
все придельно ясно
уважаемо для того кто кто прочтет
18. exlant - 23 Апреля, 2015 - 14:59:53 - перейти к сообщению
а чего мой вариант никто не прокритиковал?
вроде он решал задачу...
только число элементов в массиве должно было быть кратное 4
вот немного доделал, и теперь не важна кратность столбцам..
PHP:
скопировать код в буфер обмена
  1.  
  2. $array = array(
  3.                 0  => 'Text0',
  4.                 1  => 'Text1',
  5.                 2  => 'Text2',
  6.                 3  => 'Text3',
  7.                 4  => 'Text4',
  8.                 5  => 'Text5',
  9.                 6  => 'Text6',
  10.                 7  => 'Text7',
  11.                 8  => 'Text8',
  12.                 9  => 'Text9',
  13.                 10 => 'Text10',
  14.                 11 => 'Text11',
  15.                 12 => 'Text12',
  16.                 //13 => 'Text13',
  17.                 //14 => 'Text14',
  18.                 //15 => 'Text15'
  19.             );
  20.    $colum_num = 4; //количество столбцов
  21.    $array_count = count($array);
  22.    $field_num = floor($array_count/$colum_num); //количество строчек
  23.    $rest = $array_count%$colum_num; //остаток, если количество элементов массива не кратно количеству столбцов
  24.    echo '<table border = "1">';
  25.    for($a = 0, $y = 0, $x = 0, $add = 0; $a < $array_count; $a++, $x++, $add = 0){
  26.        if($x === $colum_num){
  27.            $x = 0;
  28.            $y++;
  29.        }
  30.        if($rest){
  31.             $add = $x;
  32.             if($x > $rest)
  33.                $add = $rest;
  34.        }
  35.        
  36.        if($a%$colum_num === 0){
  37.            echo '<tr>';
  38.        }
  39.        echo '<td>',$array[$y+($x*$field_num)+$add],'</td>';
  40.        if(($a+1)%$colum_num === 0){
  41.            echo '</tr>';
  42.        }
  43.   }
  44.    echo '</table>';
  45.  
19. LIME - 23 Апреля, 2015 - 15:01:40 - перейти к сообщению
чет я хз
имхо слишком сложно
ставь в ряд 4 значения со смещением
всее все

я убежал теров гнобить))
20. exlant - 23 Апреля, 2015 - 15:10:12 - перейти к сообщению
LIME в том то и дело, что смещение будет разное, если есть остаток при делении...
21. LIME - 23 Апреля, 2015 - 15:12:19 - перейти к сообщению
exlant ненене
смещение постоянно если хочешь чтоб чтоб в столбце были линейные значения
ааааа
да нахер мне это надо?
exlant пишет:
смещение будет разное, если есть остаток при делении
как скажешь
22. exlant - 23 Апреля, 2015 - 15:21:03 - перейти к сообщению
1. случай
Text0 Text4 Text7 Text10
Text1 Text5 Text8 Text11
Text2 Text6 Text9 Text12
Text3

2.случай
Text0 Text4 Text8 Text11
Text1 Text5 Text9 Text12
Text2 Text6 Text10 Text13
Text3 Text7

1. случай смещение с начало на 4, потом на 3, и на 3
2. случай смещение с начало на 4, потом на 4, и на 3

я скорей всего чего то не понимаю, но смещение вроде как разное...
объясните в чем я не прав, хочу разобраться!
23. LIME - 23 Апреля, 2015 - 15:23:24 - перейти к сообщению
нет
все правильно
все ты верно сделал
могу ошибаться
только можно я не буду задерживаться ато нас там щас положат
все ок молоток
так держать
24. Tyoma5891 - 23 Апреля, 2015 - 15:43:10 - перейти к сообщению
кстати упростил немного вариант exlant и тоже нормально работает:
PHP:
скопировать код в буфер обмена
  1. $array = array(
  2.                 0  => 'Text0',
  3.                 1  => 'Text1',
  4.                 2  => 'Text2',
  5.                 3  => 'Text3',
  6.                 4  => 'Text4',
  7.                 5  => 'Text5',
  8.                 6  => 'Text6',
  9.                 7  => 'Text7',
  10.                 8  => 'Text8',
  11.                 9  => 'Text9',
  12.                 10 => 'Text10',
  13.                 11 => 'Text11',
  14.                 12 => 'Text12',
  15.                 13 => 'Text13',
  16.                 14 => 'Text14'
  17.                
  18.             );
  19. $count = count($array);
  20. echo '<table border = "1">';
  21.    for($i = 0; $i < $count; $i++){
  22.        if($i%4 === 0){
  23.            echo '<tr>';
  24.        }
  25.        echo '<td>',$array[$i],'</td>';
  26.        if(($i+1)%4 === 0){
  27.            echo '</tr>';
  28.        }
  29.        
  30.    }
  31.     echo '</table>';

кстати а почему
25. exlant - 23 Апреля, 2015 - 15:45:40 - перейти к сообщению
Tyoma5891 ну потому что не работает...
посмотрите внимательней условие задачи!
26. Tyoma5891 - 23 Апреля, 2015 - 15:52:58 - перейти к сообщению
exlant пишет:
Tyoma5891 ну потому что не работает...
посмотрите внимательней условие задачи!

а смещение , та ну это изврат точно, а я сначала подумал просто банально в четыре одинаковых колонки просто разместить без всяких смещений, надо узнать у автора у него при вставки задние не появился лишние пробелы, а то мы тут уже теорему вывели) Улыбка
27. juramaj - 23 Апреля, 2015 - 16:12:01 - перейти к сообщению
Спасибо, всем за помощь. Еще раз спасибо.

 

Powered by ExBB FM 1.0 RC1