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

Разное

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

 

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

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

тема: Циклы в PHP5
 
 автор: elenaki   (11.03.2015 в 15:28)   письмо автору
 
 

Препод сказал, что использование for - дурной тон и что надо только while использовать. Что это?

  Ответить  
 
 автор: psychomc   (11.03.2015 в 16:03)   письмо автору
 
   для: elenaki   (11.03.2015 в 15:28)
 

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

<?php
while ($time time()) {
    
// что-то делаем
}

for удобно использовать, когда нужен счетчик и когда значение переменной счетчика нам нужно использовать где-то внутри цикла

<?php
for ($i 0$j 0$i 100$i++, $j--) {

}

foreach удобно использовать тогда, когда нужно пройтись по ассоциативному массиву и вообще по любому массиву.

к слову иногда пишут даже так.
<?php
while($el each($arr)) {

}

вот это и есть дурной тон.

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

  Ответить  
 
 автор: elenaki   (11.03.2015 в 16:08)   письмо автору
 
   для: psychomc   (11.03.2015 в 16:03)
 

Про циклы я знаю. Меня удивило, что вот так вот запросто заклеймили один из них и сказали - даже не
пытаться делать на нем задания. Чушь какая! Мне кажется, новичкам надо давать ВСЕ. А уж что там
модно, а что нет - пусть сами разбираются. Так и хочется сказать словами юмориста - "Я всегда не
доверяла английским спецшколам (интернет-курсам)".

  Ответить  
 
 автор: psychomc   (11.03.2015 в 16:22)   письмо автору
 
   для: elenaki   (11.03.2015 в 16:08)
 

короче, если так и сказали, то придурки они. видимо, где-то начитались, что while/foreach быстрее на N наносекунд, чем for. но про красоту и лаконичность кода забыли. короче, лучше поищите другого препода

  Ответить  
 
 автор: lightning.say   (11.03.2015 в 16:51)   письмо автору
 
   для: elenaki   (11.03.2015 в 15:28)
 

а что он преподает? пение?

  Ответить  
 
 автор: elenaki   (21.03.2015 в 10:03)   письмо автору
 
   для: lightning.say   (11.03.2015 в 16:51)
 

Маразм крепчал...
=======================================
Он все-таки настаивает на применении функций :

1. функция, которая читает список файлов
2. функция, которая отбирает из них изображения
3. функция, которая выводит их на страницу
и т.д.
=======================================


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

  Ответить  
 
 автор: psychomc   (21.03.2015 в 12:23)   письмо автору
 
   для: elenaki   (21.03.2015 в 10:03)
 

Ну, на самом деле всё правильно. В идеале, любая функция должна решать только одну задачу. Это делает код более понятным и позволяет намного чаще повторно использовать эти функции

  Ответить  
 
 автор: elenaki   (21.03.2015 в 13:37)   письмо автору
 
   для: psychomc   (21.03.2015 в 12:23)
 

А я не понимаю, зачем писать функцию чтения, если она уже есть, и ее надо только вызвать.

  Ответить  
 
 автор: psychomc   (21.03.2015 в 14:30)   письмо автору
 
   для: elenaki   (21.03.2015 в 13:37)
 

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

  Ответить  
 
 автор: Trianon   (21.03.2015 в 21:09)   письмо автору
 
   для: psychomc   (21.03.2015 в 14:30)
 

С таким подходом придется шлепать обложки к каждой из стандартных (а впоследствии и к каждой из чужих) функций.

Любое следование правилам хорошо, пока его не доводят до абсурда.

2 elenaki : сочувствую. Случай тяжелый. Это ж потом такая каша в голове будет...

  Ответить  
 
 автор: elenaki   (22.03.2015 в 08:47)   письмо автору
 
   для: Trianon   (21.03.2015 в 21:09)
 

Он мне тут еще выдал недавно (тот занимающийся, которому я помогаю) -
любая функция должна обязательно возвращать TRUE или FALSE. Без return - это не функция.
(со слов препода, конечно)

  Ответить  
 
 автор: psychomc   (22.03.2015 в 09:59)   письмо автору
 
   для: elenaki   (22.03.2015 в 08:47)
 

вот это конечно бред. особенно про boolean, да и без return тоже вполне себе может быть функция, например если внутри неё обрабатывается массив по ссылке. даже в ядре php хватает такого рода функций

  Ответить  
 
 автор: Trianon   (22.03.2015 в 14:11)   письмо автору
 
   для: elenaki   (22.03.2015 в 08:47)
 

Если вы не возражаете, отвечу пространной цитатой из "Лавины" Нила Стивенсона.

===
...
– Вы считаете, эти мечи попали к вам достойным путем? – скрежещет бизнесмен.
– Будь это не так, я давно бы их вернул, – отвечает Хиро.
– Тогда вы не будете против лишиться их сходным образом?
– А вы – потерять свои? – парирует Хиро.
Правой рукой японский бизнесмен берется за рукоять висящей слева у него за спиной катаны, сжимает ее чуть ниже гарды и, выхватив меч из ножен, наставляет его на Хиро. Левая рука также ложится на рукоять, чуть ниже правой.
Хиро делает то же самое.
Оба они сгибают ноги в коленях, почти приседая на корточки, но туловище держат при этом совершенно прямо, потом снова встают и, шаркая, принимают правильную стойку – ступни параллельно друг другу и смотрят вперед, правая нога перед левой.
Оказывается, у бизнесмена полно зансин. Перевести это понятие на английский – все равно что пытаться переводить на японский «отвали», а на футбольном сленге это можно передать как «эмоциональное напряжение». Он налетает на Хиро, вопя во все горло. Его атака, по сути, состоит из очень быстрого шарканья вперед, так что его тело все время сохраняет равновесие. В последний момент он заносит меч над головой и внезапно обрушивает его на Хиро. Хиро же поднимает свой меч, одновременно поворачивая его так, что рукоять оказывается высоко вверху и слева от его лица, а клинок идет наискось слева направо, создавая крышу у него над головой. Удар бизнесмена отскакивает от этой крыши, как капля дождя, и тогда Хиро отступает на шаг в сторону, пропуская удар мимо себя, и обрушивает меч на незащищенное плечо противника. Но бизнесмен двигается слишком быстро, а Хиро плохо рассчитал удар. Клинок проходит за спиной и чуть в стороне от бизнесмена.
Оба бойца разворачиваются лицом друг к другу, отступают, расходятся, снова встают в боевые стойки.
Разумеется, «эмоциональное напряжение» не передает и половины смысла термина «зансин». Такой грубый и неадекватный перевод заставил бы расчлененных самураев переворачиваться в своих могилах. Слово «зансин» нагружено множеством нюансов, понять которые можно только будучи японцем.
И по правде сказать, Хиро большую часть их считает псевдомистической чепухой; они напоминают ему, как тренер его футбольной команды в школе увещевал игроков играть на 110 процентов.
Бизнесмен снова нападает. Эта атака довольно прямолинейна: быстрый шаркающий наскок, а затем резкий рубящий удар в грудную клетку Хиро. Хиро парирует и этот удар.
Теперь Хиро кое что знает об этом бизнесмене, а именно: как и большинство японских бойцов, он, кроме кендо, ничего не знает.
Кендо в сравнении с настоящим самурайским боем все равно что фехтование против рубки на мечах: попытка превратить в красивую игру крайне неорганизованный, хаотичный, жестокий и кровавый конфликт. Как и в фехтовании, в кендо положено атаковать только определенные части тела, те, которые защищены броней. Как и в фехтовании, противникам воспрещается бить оппонента ногой по коленной чашечке или разламывать о его голову стул. И судейство абсолютно субъективное. В кендо вы можете нанести противнику надежный смертельный удар, и все равно вам его не зачтут, потому что судьям кажется, что у вас недостаточно зансин.
У Хиро зансин вообще никакого нет. Он просто хочет поскорей со всем покончить. Поэтому когда в следующий раз бизнесмен издает свой оглушительный визг, шаркает на Хиро и даже обрушивает на него клинок, Хиро парирует этот удар, а потом поворачивается на пятке и обрубает японцу ноги чуть ниже колен.
Бизнесмен валится на пол...

===

Вот этот ваш преподаватель мне сильно напоминает упомянутого бизнесмена.
У него полно чего-то такого, с чем весьма тяжко жить.

  Ответить  
 
 автор: psychomc   (22.03.2015 в 09:56)   письмо автору
 
   для: Trianon   (21.03.2015 в 21:09)
 

ну к каждой конечно не нужно. вообще, это утверждение больше к ооп применимо

  Ответить  
 
 автор: lightning.say   (21.03.2015 в 15:35)   письмо автору
 
   для: elenaki   (21.03.2015 в 10:03)
 

если вас не устраивает его методика преподавания то зачем у него занимаетесь? и почему не спросите об этом у него?

  Ответить  
 
 автор: elenaki   (21.03.2015 в 15:50)   письмо автору
 
   для: lightning.say   (21.03.2015 в 15:35)
 

Я и не занимаюсь. Я помогаю занимающемуся.

  Ответить  
 
 автор: lightning.say   (25.03.2015 в 17:37)   письмо автору
 
   для: elenaki   (21.03.2015 в 15:50)
 

тогда помогите найти опытного преподавателя, а то сейчас так "научат", что потом будет еще сложнее переучиваться.

  Ответить  
Rambler's Top100
вверх

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