Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠšΡƒΡ€Ρ "Π―Π·Ρ‹ΠΊ программирования PHP"Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 9

Автор Нина БавСльСва

<?

$names = array("Иван","ΠŸΠ΅Ρ‚Ρ€","Π‘Π΅ΠΌΠ΅Π½");

switch ($names[0]){

case "Иван":

echo "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Ваня!";

break;

case "ΠŸΠ΅Ρ‚Ρ€":

echo "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠŸΠ΅Ρ‚Ρ!";

break;

case "Π‘Π΅ΠΌΠ΅Π½":

echo "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, БСня!";

break;

default:

echo "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, $names[0].

А ΠΊΠ°ΠΊ Вас Π·ΠΎΠ²ΡƒΡ‚?";

}

?>


Если Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² case "ΠŸΠ΅Ρ‚Ρ€":, Ρ‚ΠΎ, Ссли пСрСмСнная окаТСтся Ρ€Π°Π²Π½ΠΎΠΉ строкС "ΠŸΠ΅Ρ‚Ρ€", послС Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° экран сообщСния "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠŸΠ΅Ρ‚Ρ!" ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΉΠ΄Π΅Ρ‚ дальшС ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ сообщСниС "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, БСня!" ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ, встрСтив break, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ своС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ switch.


Для конструкции switch, ΠΊΠ°ΠΊ ΠΈ для if, Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ синтаксис, Π³Π΄Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ switch фигурная скобка замСняСтся Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ, Π° Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ – endswitch; соотвСтствСнно.


Π¦ΠΈΠΊΠ»Ρ‹


Π’ PHP сущСствуСт нСсколько конструкций, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ дСйствия Π² зависимости ΠΎΡ‚ условия. Π­Ρ‚ΠΎ Ρ†ΠΈΠΊΠ»Ρ‹ while, do..while, foreach ΠΈ for. Рассмотрим ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.


while


Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°:


while (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) { Π±Π»ΠΎΠΊ_выполнСния }


Π»ΠΈΠ±ΠΎ


while (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅): Π±Π»ΠΎΠΊ_выполнСния endwhile;


while – простой Ρ†ΠΈΠΊΠ». Он прСдписываСт PHP Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π»ΠΎΠΊΠ°_выполнСния Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ вычисляСтся ΠΊΠ°ΠΊ True (здСсь, ΠΊΠ°ΠΊ ΠΈ Π² if, происходит ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ выраТСния ΠΊ логичСскому Ρ‚ΠΈΠΏΡƒ). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ выраТСния провСряСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ†ΠΈΠΊΠ»Π°, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π΄Π°ΠΆΠ΅ Ссли Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ измСнилось Π² процСссС выполнСния Π±Π»ΠΎΠΊΠ°_выполнСния, Ρ†ΠΈΠΊΠ» Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ остановлСн Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ (Ρ‚.Π΅. ΠΏΠΎΠΊΠ° всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π»ΠΎΠΊΠ°_выполнСния Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ исполнСны).


<?

//эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ всС Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹

$i = 1;

while ($i < 10) {

if ($i % 2 == 0) print $i;

// ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ Ρ†ΠΈΡ„Ρ€Ρƒ, Ссли ΠΎΠ½Π° чСтная

$i++;

// ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ $i Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ

}

?>


do... while


Π¦ΠΈΠΊΠ»Ρ‹ do..while ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Ρ†ΠΈΠΊΠ»Ρ‹ while, с Ρ‚ΠΎΠΉ лишь Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ ΠΈΡΡ‚ΠΈΠ½Π½ΠΎΡΡ‚ΡŒ выраТСния провСряСтся Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ†ΠΈΠΊΠ»Π°, Π° Π½Π΅ Π² Π½Π°Ρ‡Π°Π»Π΅. Благодаря этому Π±Π»ΠΎΠΊ_выполнСния Ρ†ΠΈΠΊΠ» do...while Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ выполняСтся хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.


Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°:


do {Π±Π»ΠΎΠΊ_выполнСния} while (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅);


<?

// эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ число 12, нСсмотря Π½Π° Ρ‚ΠΎ

// Ρ‡Ρ‚ΠΎ условиС Ρ†ΠΈΠΊΠ»Π° Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ

$i = 12;

do{

if ($i % 2 == 0) print $i;

// Ссли число Ρ‡Π΅Ρ‚Π½ΠΎΠ΅, Ρ‚ΠΎ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ Π΅Π³ΠΎ

$i++;

// ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ число Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ

}while ($i<10)

?>


for


Π­Ρ‚ΠΎ самыС слоТныС Ρ†ΠΈΠΊΠ»Ρ‹ Π² PHP. Они Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹ C.


Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°:


for (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅1; Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅2; Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅3) {Π±Π»ΠΎΠΊ_выполнСния}


Π»ΠΈΠ±ΠΎ


for (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅1; Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅2; Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅3): Π±Π»ΠΎΠΊ_выполнСния endfor;


Π—Π΄Π΅ΡΡŒ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, условиС состоит сразу ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅1 вычисляСтся бСзусловно ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ†ΠΈΠΊΠ»Π°. Π’ Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ вычисляСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅2. Если ΠΎΠ½ΠΎ являСтся True, Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» продолТаСтся ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π»ΠΎΠΊΠ°_выполнСния. Если Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅2 вычисляСтся ΠΊΠ°ΠΊ False, Ρ‚ΠΎ исполнСниС Ρ†ΠΈΠΊΠ»Π° останавливаСтся. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ (Ρ‚.Π΅. послС выполнСния всСх ΠΊΠΎΠΌΠ°Π½Π΄ Π±Π»ΠΎΠΊΠ°_выполнСния) вычисляСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅3.


КаТдоС ΠΈΠ· Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ 1, 2, 3 ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым. Если Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅2 являСтся пустым, Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя (Π² этом случаС PHP считаСт это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ всСгда истинным). Π­Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ бСсполСзно, ΠΊΠ°ΠΊ каТСтся, вСдь Ρ†ΠΈΠΊΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break.


НапримСр, всС Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ вывСсти с использованиСм Ρ†ΠΈΠΊΠ»Π° for Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:


<?php

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

if ($i % 2 == 0) print $i;

// ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ числа

}

?>


Если ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (условиС $i<10), Ρ‚ΠΎ Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, останавливая Ρ†ΠΈΠΊΠ» ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ break.


<?php

for ($i=0; ; $i++){

if ($i>=10) break;

// Ссли $i большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ 10,

// Ρ‚ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ†ΠΈΠΊΠ»Π°

if ($i % 2 == 0) print $i;

// Ссли число Ρ‡Π΅Ρ‚Π½ΠΎΠ΅,

// Ρ‚ΠΎ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ Π΅Π³ΠΎ

}

?>


МоТно ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ всС Ρ‚Ρ€ΠΈ выраТСния. Π’ этом случаС просто Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π΄Π°Π½ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика $i ΠΈ ΠΎΠ½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ†ΠΈΠΊΠ»Π°. ВсС эти дСйствия ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Π»ΠΈΠ±ΠΎ Π² Π±Π»ΠΎΠΊΠ΅_выполнСния, Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ:


<?php

$i=0; // Π·Π°Π΄Π°Π΅ΠΌ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика

for ( ; ; ){

if ($i>=10) break;

// Ссли $i большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ 10,

// Ρ‚ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ†ΠΈΠΊΠ»Π°

if ($i % 2 == 0) print $i;

// Ссли число Ρ‡Π΅Ρ‚Π½ΠΎΠ΅,

// Ρ‚ΠΎ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ Π΅Π³ΠΎ

$i++; // ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ счСтчик Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ

}

?>


Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ конструкции for ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ сразу нСсколько ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄. НапримСр, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ просто вывСсти всС Ρ†ΠΈΡ„Ρ€Ρ‹, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ совсСм просто:


<?php

for ($i=0; $i<10; print $i, $i++)

/* Если Π±Π»ΠΎΠΊ_выполнСния Π½Π΅ содСрТит ΠΊΠΎΠΌΠ°Π½Π΄

ΠΈΠ»ΠΈ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ,

Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½,

ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ*/

?>


foreach


Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° полСзная конструкция. Она появилась Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² PHP4 ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами.


Бинтаксис:


foreach ($array as $value) {Π±Π»ΠΎΠΊ_выполнСния}


Π»ΠΈΠ±ΠΎ


foreach ($array as $key => $value)

{Π±Π»ΠΎΠΊ_выполнСния}


Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС формируСтся Ρ†ΠΈΠΊΠ» ΠΏΠΎ всСм элСмСнтам массива, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $array. На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Ρ†ΠΈΠΊΠ»Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта массива записываСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ $value, ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ счСтчик массива пСрСдвигаСтся Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ (Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт массива). Π’Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ°_выполнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта массива ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $value. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ°_выполнСния происходит ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·, сколько элСмСнтов Π² массивС $array.


Вторая Ρ„ΠΎΡ€ΠΌΠ° записи Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ пСрСчислСнному Π²Ρ‹ΡˆΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Ρ†ΠΈΠΊΠ»Π° записываСт ΠΊΠ»ΡŽΡ‡ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта массива Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ $key, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π±Π»ΠΎΠΊΠ΅_выполнСния.


Когда foreach Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ исполнСниС, Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ массива автоматичСски устанавливаСтся Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт.


<?php

$names = array("Иван","ΠŸΠ΅Ρ‚Ρ€","Π‘Π΅ΠΌΠ΅Π½");

foreach ($names as $val) {

echo "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, $val <br>";

// Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ всСм привСтствиС

}

foreach ($names as $k => $val) {

// ΠΊΡ€ΠΎΠΌΠ΅ привСтствия,

// Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€Π° Π² спискС, Ρ‚.Π΅. ΠΊΠ»ΡŽΡ‡ΠΈ

echo "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, $val !

Π’Ρ‹ Π² спискС ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ $k <br>";

}

?>


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ управлСния


Иногда Π² случаС особых ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π² трСбуСтся Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ†ΠΈΠΊΠ»Π° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ инструкции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, располоТСнной Π·Π° послСднСй инструкциСй Ρ†ΠΈΠΊΠ»Π°. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ break ΠΈ continue.


Break


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ for, foreach, while, do..while ΠΈΠ»ΠΈ switch. break ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ с числовым Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ€Π°Π±ΠΎΡ‚Ρƒ ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… структур, содСрТащих Π΅Π³ΠΎ, Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ.


<?php

$i=1;

while ($i) {

$n = rand(1,10);

// Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ число

// ΠΎΡ‚ 1 Π΄ΠΎ 10

echo "$i:$n ";

// Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ

// сгСнСрированноС число

if ($n==5) break;

/* Если Π±Ρ‹Π»ΠΎ сгСнСрировано число 5,

Ρ‚ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ†ΠΈΠΊΠ»Π°. Π’ этом случаС

всС, Ρ‡Ρ‚ΠΎ находится послС этой строчки

Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ */

echo "Π¦ΠΈΠΊΠ» Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ <br>";

$i++;

}

echo "<br>Число ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Ρ†ΠΈΠΊΠ»Π° $i ";

?>


Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого скрипта Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:


1:7 Π¦ΠΈΠΊΠ» Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

2:2 Π¦ΠΈΠΊΠ» Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

3:5

Число ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Ρ†ΠΈΠΊΠ»Π° 3


Если послС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° break ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ число, Ρ‚ΠΎ прСрвСтся ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ количСство содСрТащих этот ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»ΠΎΠ². Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² Π½Π΅Ρ‚. НСмного ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ наш скрипт:


<?php

$i=1;

while ($i) {

$n = rand(1,10);

// Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ число

// ΠΎΡ‚ 1 Π΄ΠΎ 10

switch ($n){