Премини към съдържанието
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, трябва да го пишеш така.

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


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

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

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

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

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

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

    Вход

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

    Вход


    ×

    Информация

    Този сайт използва бисквитки (cookies), за най-доброто потребителско изживяване. С използването му, вие приемате нашите Условия за ползване.