Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

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

     

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


BatGuy

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

Здравейте. Може ли да ми кажете защо се слага ; след всяко завършване на нещо във 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++)

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

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

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 (;;) ?

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

преди 20 часа, pix3l написа:

....

 

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

for (;;) {
    // Loop body
}

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

  • Разглеждащи това в момента   0 потребители

    • Няма регистрирани потребители разглеждащи тази страница.
×
×
  • Добави ново...

Информация

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