Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Всичко за циклите в PHP
  1. Всичко за циклите в PHP
     
Автор  dweray (30.01.2006 22:47)  съобщение до автора
Погледнат  3298 пъти  добави към любими
Оценка  добави коментар
Гласове  8  изпрати на приятел
Коментари  (2)  абонирай се за PHP
    Страница 1 / 1

 



Циклите в PHP имат същия принцип както и при другите програмни езици  от високо ниво.Те добавят контрол върху скриптовете,така че инструкциите да могат да се изпълняват многократно докато условието на цикъла остане true.В php има 4 инструкции за цикъл:
while,do...while,for и foreach

Първите три са с общо предназначение, а foreach се използва предимно с масиви.

Нека да започнем :

 WHILE

Той е най простата структура но понякога е много сложен.Той повтаря една или повече функции дотогава,докато условието стане true.Първо се проверява условието след това се изпълнява цикъла.Също като при IF и тук можете да поставите инструкциите в скоби като така ще формирате тялото на цикъла.
Пример:
 CODE
1
2
3
4
5
6
$counter =1;
while ($counter < 11)
{
echo $counter;
$counter++;
}
Този скрипт извежда числата от 1 до 10.

Do....while

Разликата между while и Do....while е че при while се проверява първо условието а при Do....while условието се проверява след като се изпълни цикъла.
Пример:
 CODE
1
2
3
4
5
6
7
$counter = 1;
do
{
echo $counter;
$counter++
}
while ($counter < 11);

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

For

Този цикъл е с най сложна конструкция но с него се получава доста компактен код.
Пример:
 CODE
1
2
3
4
for($counter = 1; $counter < 11; $counter++)
{
echo $counter;
}
В този цикъл има три части разделени от точка и запетая:
 
    -Първоначално условие на цикъла
    -Условие за цикъла
    -Крайни инструкции

Внимавайте защото циклите FOR могат да доведат до много объркващ код.

Foreach

Той се появява за първо в php4.Удобен е за работа с масиви:
Пример:
 CODE
1
2
3
4
5
6
$dollars = array(1, 21, 212, 343, 454;)
foreach($dollars as $lv)
{
$dollars = $lv / 2;
echo "$$dollars долара са равни на $lv лева";
}

foreach е изключително полезен за масиви.



   




Още уроци от тази рубрика


 За автора: dweray  
Всички мои статии можете да прочетете също на http://pcaddict.info
   
 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

Така или иначе ще си говорим за цикли - аз имам един въпрос. Защо следният код дава грешка:
 CODE
1
2
3
4
<?php
for($i = 0; $i < 100; $i++) {
$masiv[$i]='ne6to si e '.$i;
}
Като в книгата Разработване на проекти за Web с PHP и MySQL има такъв пример(в който елемент от масив приема променлива за индекс)?

  echo $_PHP_USER на 13.02.2006 17:36

Освен че ти си скаран с терминологията има и пропуски. Ето и нешо за:
CODE
1
2
3
4
foreach (array_expression as $value)
  
statement
foreach
(array_expression as $key => $value)
  
statement

както забелязваш имаш малък пропуск. Други за foreach, е че той е само за МАСИВИ.

Внимавайте защото циклите FOR могат да доведат до много объркващ код.
какво пък трябва да означава това?

Ето и малко обяснения към тази статия да стане ясно кога кой цикъл да изпозлваме:
Ако предварително е известен БРОЯ на ПОВТОРЕНИЯТА се използва: FOR

Ако не се знае броя повторения:
ЦИКЪЛ С ПРЕДУСЛОВИЕ - while изпълнява се тялото докато условието е вярно(true);

do..while е цикъл с постусловие рядко се изпозлва страна птица е :)

  • забележка към одобрилите статията:
- как може да се одобри статия с грешка в нея?

WHILE

Той е най простата структура но понякога е много сложен. Той повтаря една или повече функции дотогава,докато условието стане true

Грешно е!! Повтаря се докато условието стане FALSE с други думи когато $counter стане равно или по голямо от 11.

  PureEvil на 31.01.2006 21:35

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008