{"id":733,"date":"2022-03-11T16:15:50","date_gmt":"2022-03-11T15:15:50","guid":{"rendered":"https:\/\/piotrgabriel.pl\/wiki\/?p=733"},"modified":"2024-01-30T13:33:24","modified_gmt":"2024-01-30T12:33:24","slug":"php-2-kontrola-przeplywu-programu-w-php","status":"publish","type":"post","link":"https:\/\/piotrgabriel.pl\/wiki\/php-2-kontrola-przeplywu-programu-w-php\/","title":{"rendered":"PHP 2 &#8211; Kontrola przep\u0142ywu programu w PHP"},"content":{"rendered":"<p>Kontrola przep\u0142ywu programu jest kluczowym elementem programowania w PHP, pozwalaj\u0105cym na tworzenie bardziej dynamicznych i interaktywnych aplikacji.<!--more--><\/p>\n<p>Przyjrzyjmy si\u0119 teraz szczeg\u00f3\u0142owemu om\u00f3wieniu dw\u00f3ch g\u0142\u00f3wnych aspekt\u00f3w kontroli przep\u0142ywu: <strong>instrukcji warunkowych i p\u0119tli.<\/strong><\/p>\n<h2>Instrukcje Warunkowe<\/h2>\n<p>Instrukcje warunkowe pozwalaj\u0105 na wykonanie okre\u015blonego kodu w zale\u017cno\u015bci od spe\u0142nienia okre\u015blonych warunk\u00f3w.<\/p>\n<p><strong>if<\/strong>: Najprostsza instrukcja warunkowa. Je\u015bli warunek jest prawdziwy, wykonuje okre\u015blony kod.<\/p>\n<p><code>if ($a &gt; $b) {<\/code><br \/>\n<code>echo \"a jest wi\u0119ksze ni\u017c b\";<\/code><br \/>\n<code>}<\/code><\/p>\n<p><strong>else<\/strong>: U\u017cywany wraz z <code>if<\/code>. Je\u015bli warunek w <code>if<\/code> nie jest spe\u0142niony, wykonuje kod w <code>else<\/code>.<\/p>\n<p><code>if ($a &gt; $b) {<\/code><br \/>\n<code>echo \"a jest wi\u0119ksze ni\u017c b\";<\/code><br \/>\n<code>} else {<\/code><br \/>\n<code>echo \"a nie jest wi\u0119ksze ni\u017c b\";<\/code><br \/>\n<code>}<\/code><\/p>\n<p><strong>elseif\/else if<\/strong>: Pozwala na testowanie wielu warunk\u00f3w. Je\u015bli warunek w <code>if<\/code> jest fa\u0142szywy, sprawdza warunek w <code>elseif<\/code>.<\/p>\n<p><code>if ($a &gt; $b) {<\/code><br \/>\n<code>echo \"a jest wi\u0119ksze ni\u017c b\";<\/code><br \/>\n<code>} elseif ($a == $b) {<\/code><br \/>\n<code>echo \"a jest r\u00f3wne b\";<\/code><br \/>\n<code>} else {<\/code><br \/>\n<code>echo \"a jest mniejsze ni\u017c b\";<\/code><br \/>\n<code>}<\/code><\/p>\n<p><strong>switch<\/strong>: Alternatywa dla wielokrotnych <code>if...elseif...else<\/code>. U\u017cywany do por\u00f3wnywania tej samej zmiennej (lub wyra\u017cenia) z r\u00f3\u017cnymi warto\u015bciami.<\/p>\n<p><code>switch ($a) {<\/code><br \/>\n<code>case 0:<\/code><br \/>\n<code>echo \"a r\u00f3wna si\u0119 0\";<\/code><br \/>\n<code>break;<\/code><br \/>\n<code>case 1:<\/code><br \/>\n<code>echo \"a r\u00f3wna si\u0119 1\";<\/code><br \/>\n<code>break;<\/code><br \/>\n<code>default:<\/code><br \/>\n<code>echo \"a nie jest ani 0, ani 1\";<\/code><br \/>\n<code>}<\/code><\/p>\n<h2>P\u0119tle<\/h2>\n<p>P\u0119tle s\u0105 u\u017cywane do wielokrotnego wykonania okre\u015blonego fragmentu kodu.<\/p>\n<p><strong>for<\/strong>: U\u017cywana do wykonania kodu okre\u015blon\u0105 liczb\u0119 razy. Sk\u0142ada si\u0119 z trzech opcjonalnych cz\u0119\u015bci: inicjalizacji, warunku, inkrementacji.<\/p>\n<p><code>for ($i = 0; $i &lt; 10; $i++) {<\/code><br \/>\n<code>echo $i;<\/code><br \/>\n<code>}<\/code><\/p>\n<p><strong>while<\/strong>: Wykonuje kod tak d\u0142ugo, jak d\u0142ugo warunek jest prawdziwy.<\/p>\n<p><code>$i = 0;<\/code><br \/>\n<code>while ($i &lt; 10) {<\/code><br \/>\n<code>echo $i;<\/code><br \/>\n<code>$i++;<\/code><br \/>\n<code>}<\/code><\/p>\n<p><strong>do-while<\/strong>: Podobna do p\u0119tli <code>while<\/code>, ale warunek jest testowany po wykonaniu kodu p\u0119tli, wi\u0119c p\u0119tla wykonuje si\u0119 przynajmniej raz.<\/p>\n<p><code>$i = 0;<\/code><br \/>\n<code>do {<\/code><br \/>\n<code>echo $i;<\/code><br \/>\n<code>$i++;<\/code><br \/>\n<code>} while ($i &lt; 10);<\/code><\/p>\n<p><strong>foreach<\/strong>: Specjalnie zaprojektowana do iteracji po elementach tablicy.<\/p>\n<p><code>$arr = array(1, 2, 3, 4, 5);<\/code><br \/>\n<code>foreach ($arr as $value) {<\/code><br \/>\n<code>echo $value;<\/code><br \/>\n<code>}<\/code><\/p>\n<p>Pami\u0119taj, \u017ce kontrola przep\u0142ywu programu w PHP, jest podstaw\u0105 dla tworzenia skrypt\u00f3w, kt\u00f3re reaguj\u0105 na r\u00f3\u017cne dane i warunki, co jest niezb\u0119dne i kluczowe w tworzeniu dynamicznych aplikacji internetowych.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kontrola przep\u0142ywu programu jest kluczowym elementem programowania w PHP, pozwalaj\u0105cym na tworzenie bardziej dynamicznych i interaktywnych aplikacji.<\/p>\n","protected":false},"author":1,"featured_media":730,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[244],"tags":[67],"class_list":["post-733","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","tag-php"],"_links":{"self":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/comments?post=733"}],"version-history":[{"count":0,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/posts\/733\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media\/730"}],"wp:attachment":[{"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/media?parent=733"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/categories?post=733"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/piotrgabriel.pl\/wiki\/wp-json\/wp\/v2\/tags?post=733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}