Премини към съдържанието
BatGuy

Защо се слага ' ; ' в стойностите на FOR лууповете

Препоръчан отговор


Здравейте. Може ли да ми кажете защо се слага ; след всяко завършване на нещо във for loops ?

Пример:

<?php
for ($x = 0; $x <= 10; $x++) {
    echo "The number is: $x <br>";
}
?>
 
Защо неможе да е:
<?php
for ($x = 0,  $x <= 10, $x++) {
    echo "The number is: $x <br>";
}
?>
 
Ако някой може да ми обясни причината за това. И също ако може да ми кажете как се наричат loop-овете на български (for, while, do-while, foreach) и да ми кажете как се наричат стойностите в тях

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

синтаксис му се вика за  докато прави докато за всяко

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Нарича се цикъл. "Стойностите в тях" се наричат променливи.

На въпроса защо се използва ; вместо , това е защото може да се използва следния синтаксис:

<?php
for ($x = 0, $y = 2; $x <= 10, $y >= 5; $x++, y--) {
    echo "The number is: $x <br>";
}
?>

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 7 минути, RJ45 написа:

Нарича се цикъл. "Стойностите в тях" се наричат променливи.

На въпроса защо се използва ; вместо , това е защото може да се използва следния синтаксис:

<?php
for ($x = 0, $y = 2; $x <= 10, $y >= 5; $x++, y--) {
    echo "The number is: $x <br>";
}
?>

Немога да разбера дали ще бачка for ($x = 0,  $x <= 10, $x++)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

пиши го как са ти казали по книгите да нямаш главоболия иначе винаги може да се експериментира.

,== ; .........

 


Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 10 минути, BatGuy написа:

Немога да разбера дали ще бачка for ($x = 0,  $x <= 10, $x++)

Няма да бачка. Това е синтактична грешка. Все едно в българския език да слагаш запетайки вместо точки.

Редактирано от RJ45 (преглед на промените)
  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

for цикъла върши абсолютно същото като while-а, измислен е единствено за улеснение.

Дали ще напишеш това:

for (int i = 0; i < 10; i++) {
    // Loop body
}

Или това:

int i = 0;

while (i < 10) {
    // Loop body
    i++;
}

Няма никакво значение.

А тези ";", които искаш да махнеш всъщност са единственото задължително нещо между скобите. Спокойно можеш да си направиш един безкраен цикъл така:

for (;;) {
    // Loop body
}

Този цикъл просто събира инициализацията, условието и обновяването на инициализацията в едно.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 20 часа, pix3l написа:

for цикъла върши абсолютно същото като while-а, измислен е единствено за улеснение.

Дали ще напишеш това:


for (int i = 0; i < 10; i++) {
    // Loop body
}

Или това:


int i = 0;

while (i < 10) {
    // Loop body
    i++;
}

Няма никакво значение.

А тези ";", които искаш да махнеш всъщност са единственото задължително нещо между скобите. Спокойно можеш да си направиш един безкраен цикъл така:


for (;;) {
    // Loop body
}

Този цикъл просто събира инициализацията, условието и обновяването на инициализацията в едно.

Първо да питам защо декларираш променливата като int като в PHP те се таковат автоматично ?  И защо трябва да е for (;;) ?

Редактирано от BatGuy (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 20 часа, pix3l написа:

....

 

А тези ";", които искаш да махнеш всъщност са единственото задължително нещо между скобите. Спокойно можеш да си направиш един безкраен цикъл така:


for (;;) {
    // Loop body
}

Този цикъл просто събира инициализацията, условието и обновяването на инициализацията в едно.

Не, този запис не ги обединява, просто ги оставя празни и по подразбиране празно условие за проверка на край на цикъла е винаги истина.

И for има своето място при цикли при които е известно условието за промяна на брояча на цикъла и началото му. Тогава има смисъл от него. while само проверява условието за край на цикъла и промяната на променливата на цикъла може да е различна за всяка итерация

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 17 часа, capnemo написа:

Не, този запис не ги обединява, просто ги оставя празни и по подразбиране празно условие за проверка на край на цикъла е винаги истина.

И for има своето място при цикли при които е известно условието за промяна на брояча на цикъла и началото му. Тогава има смисъл от него. while само проверява условието за край на цикъла и промяната на променливата на цикъла може да е различна за всяка итерация

Имам предвид, че for цикъла като структура обединява инициализация, условие и промяна на инициализацията, а не безкрайния for, който дадох за пример... може би трябваше да сложа още един ред. А и не съм отричал полезността на for-цикъла, просто направих сравнение. Не сметнах за нужно да обяснявам при кои случаи е по-практично да се използва for.

 

преди 17 часа, BatGuy написа:

Първо да питам защо декларираш променливата като int като в PHP те се таковат автоматично ?  И защо трябва да е for (;;) ?

Защото използвам синтаксиса на C (не забелязах в кой раздел пиша), не обръщай внимание. А относно вторият въпрос, кода е просто демонстрация, че символите са задължителна част от for цикъла, а всичко останало в скобите можеш да го пропуснеш.

Редактирано от pix3l (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 22 часа, pix3l написа:

Имам предвид, че for цикъла като структура обединява инициализация, условие и промяна на инициализацията, а не безкрайния for, който дадох за пример... може би трябваше да сложа още един ред. А и не съм отричал полезността на for-цикъла, просто направих сравнение. Не сметнах за нужно да обяснявам при кои случаи е по-практично да се използва for.

 

Защото използвам синтаксиса на C (не забелязах в кой раздел пиша), не обръщай внимание. А относно вторият въпрос, кода е просто демонстрация, че символите са задължителна част от for цикъла, а всичко останало в скобите можеш да го пропуснеш.

Какво имаш предив немога да разбера ... Какъв е правилният синтакс на for цикъла for (;;) или for() ??

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 23 минути, BatGuy написа:

Какво имаш предив немога да разбера ... Какъв е правилният синтакс на for цикъла for (;;) или for() ??

for ($i = 0; $i < 10; $i++) {
    // Loop
}

Това е правилният синтаксис, със символите ";". Не можеш да напишеш for-цикъл без тези символи, не можеш и да ги заменяш със запетая. Ако искаш да ползваш for, трябва да го пишеш така.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.