Как while перевести в for + сортировка
Как на for это сделать, читал что while работает медленно иль чет в этом роде) Кстати еще прошу помочь с выводом допустим имен вподряд...но в строке не больше 10 имен должно быть, тоисть если в базе 30 имен то 3 ряда по 10 имен выводит.:blink:
$result = mysql_query("SELECT * FROM users"); while ($row = mysql_fetch_array($result)){ echo 'name '.$row['name']; } |
Цитата:
это незачем переделывать на for Цитата:
$result = mysql_query("SELECT * FROM users"); $counter=0; while ($row = mysql_fetch_array($result)){ echo 'name '.$row['name'].' '; if($counter++%10==9) echo '<br>'; } |
:blink: и чего я не додумался просто <br> перенести))))) Спасибо большое....
|
Очень интересно как на for сделать этот же код :)
|
Цитата:
через задницу, блин держи $result = mysql_query("SELECT * FROM users"); for($i=0,$s=mysql_num_rows($result);$i<$s;$i++){ $row = mysql_fetch_array($result); echo 'name '.$row['name']; } PS это код наверняка медленнее, чем c while PPS за оторванные конечности я ответственности не несу |
$result = mysql_query("SELECT * FROM users"); for ($counter=0; $row = mysql_fetch_array($result); $counter++) { echo 'name ' . $row['name'] . ' '; if($counter % 10 == 9) echo '<br>'; }И ничего не медленней. |
Цитата:
не использовал возможность задавать вторым элементом for любое условие, вполне сознательно, так как считаю, что для простейших задач циклы должны использоваться так, как это изначально предполагается, то есть for-когда известно количество итераций, а while-когда неизвестно количество итераций, но известно другое условие выхода |
Цитата:
|
пусть так
это мое видение правильного кода |
Цитата:
|
e1f,
можно пример кода, как это там выглядит? |
for my $item (@items) { # do something } |
так я и думал
это не счетчик с циклом, а совместный цикл, предназначенный для перебора элементов хэш-массива с таким же успехом мог перевести тему на javascript, и сказать что в цикле for...in нету никаких счетчиков. или написать свой язык в котором конструкцией for обозначается что-угодно когда я писал об уместности употребления именно цикла со счетчиком, который в PHP записывается как for(;;) то, что ты перескочил на другую синтаксическую структуру из другого языка - это хреновый аргумент. даже хуже чем привел Kolyaj в данном обсуждении Былинный отказ десу! |
Цитата:
В данном конкретном случае for уместней, тем более, что даже счетчик есть. |
Цитата:
именно к этому я и отсылаю |
Цитата:
Код:
for my $item (keys %items) Код:
for my $item (values %items) |
Цитата:
все суть контейнер. без контейнера эта синтаксическая конструкция не употребляется. точно также как foreach($array as $key=>$value) (PHP) или for(key in array) (JS) если нету array-а, то и конструкции эти использовать нельзя. или в Perl цикл со счетчиком, и цикл для перебора индексов/ключей/свойств есть одна синтаксическая структура? что-то не верится но даже если это так, я изначально говорил прежде всего о PHP не о JS(хотя для него тут мое мнение такое же) не о C(в нем я наоборот часто себе позволяю использование циклов "не по правилам", в связи с разностью областей моего личного их знания и применения) не о Perl, в котором я не специалист не о Brainfuck в котором один вид цикла/условия, и не может быть вопроса "что использовать"(зато вопрос "как сделать" возникает))) PS непринятие отказа отклонено :) |
Цитата:
Цитата:
Цитата:
А насчет JS, так я часто использую, к примеру, for таким вот образом: for (var i = array.length; i--; ) { // do something } Не надо кешировать/перезапрашивать длину, экономим на условии <. Тоже неправильный, по-вашему, подход к for'у? P.S. Все равно отказ не принят :) |
Цитата:
Цитата:
Цитата:
просматривая код вскользь между строк, не скажешь сразу, что этот цикл делает и в каком порядке. в отличии от наверняка и всеми узнаваемой конструкции for(i=0;i<arr.length;i++) |
Цитата:
Код:
for ( my $i = 0 ; $i < @items ; $i++ ) { Код:
foreach ( my $i = 0 ; $i < @items ; $i++ ) { |
Часовой пояс GMT +3, время: 04:38. |