{"id":363,"date":"2023-12-11T07:12:18","date_gmt":"2023-12-11T06:12:18","guid":{"rendered":"https:\/\/gdm.sosthe.sk\/?page_id=363"},"modified":"2023-12-11T07:12:18","modified_gmt":"2023-12-11T06:12:18","slug":"funkcie","status":"publish","type":"page","link":"https:\/\/gdm.sosthe.sk\/?page_id=363","title":{"rendered":"Funkcie"},"content":{"rendered":"<p>Defin\u00edcia vlastn\u00fdch funkci\u00ed v php patr\u00ed ku ka\u017edodennej praxi. Jazyk PHP obsahuje mno\u017estvo u\u017eito\u010dn\u00fdch funkci\u00ed, ktor\u00e9 s\u00fa \u013eahko vyu\u017eite\u013en\u00e9, ak v\u0161ak v na\u0161om k\u00f3de chceme pou\u017ei\u0165 funkciu, ktor\u00e1 by n\u00e1m spracovala po\u017eadovan\u00fd skript pod\u013ea na\u0161ich predst\u00e1v, tak pou\u017eijeme funkciu\u00a0<em>function()<\/em>. Je to ve\u013emi n\u00e1pomocn\u00e1 funkcia pomocou ktorej si mi m\u00f4\u017eeme definova\u0165 svoju vlastn\u00fa funkciu (hotov\u00e9 funkcie v jazyku php s\u00fa napr.:\u00a0<em>echo()<\/em>,\u00a0<em>date()<\/em>,\u00a0<em>empty()<\/em>\u00a0\u2026). Z\u00e1kladn\u00e1 syntax z\u00e1pisu vlastnej funkcie je nasledovn\u00e1:<\/p>\n<pre>function nazov_funkcie() \r\n{\r\n  telo funkcie\r\n}\r\n<\/pre>\n<p>Pou\u017eitie v praxi je ve\u013emi n\u00e1pomocn\u00e9 a vyu\u017eijete t\u00fato funkciu v ka\u017edom v\u00e4\u010d\u0161om skripte. Mus\u00ed sa v\u0161ak d\u00e1va\u0165 pozor, aby pomenovan\u00e1 funkcia nemala toto\u017en\u00e9 meno s u\u017e existuj\u00facou. Potom sa vyp\u00ed\u0161e chybov\u00e9 hl\u00e1senie.<\/p>\n<p>Vyu\u017eitie funkcie si m\u00f4\u017eeme uk\u00e1za\u0165 na n\u00e1zornom pr\u00edklade.<\/p>\n<div class=\"sample1\"><\/div>\n<div class=\"sample1\"><em>Pr\u00edklad:<\/em><\/div>\n<pre>&lt;?php\r\nfunction napis() \r\n{\r\n  $skript = \"funkcia napis()\";\r\n  echo \"Toto je $skript.\"; \r\n}\r\nnapis();\r\n?&gt;\r\n<\/pre>\n<div class=\"sample1\"><em>V\u00fdsledok pr\u00edkladu:<\/em><\/div>\n<p>Toto je funkcia napis().<\/p>\n<p>Zadefinovali sme si vlastn\u00fa funkciu a ni\u017e\u0161ie vid\u00edte jej vyu\u017eitie. Skript m\u00e1m vyp\u00ed\u0161e nasleduj\u00faci v\u00fdsledok \u201eToto je funkcia napis()\u201c.<\/p>\n<div class=\"sample1\"><\/div>\n<div class=\"sample1\"><em>Pr\u00edklad:<\/em>\u00a0In\u00fd z\u00e1pis<\/div>\n<pre>&lt;?php\r\nfunction napis1() \r\n{\r\n  $skript = \"funkcia napis1()\";\r\n  $text = \"Toto je $skript.\"; \r\n  return $text;\r\n}\r\nnapis1();\r\necho \"=====&lt;br \/&gt;\";\r\necho napis1();\r\n?&gt;\r\n<\/pre>\n<div class=\"sample1\"><em>V\u00fdsledok pr\u00edkladu:<\/em><\/div>\n<p>=====<br \/>\nToto je funkcia napis1().<\/p>\n<p>Z\u00e1pis funkcie m\u00e1 e\u0161te jeden mo\u017en\u00fd variant a to je variant zo z\u00e1pisom argumentov. Jej syntax sa neodli\u0161uje ve\u013emi v\u00fdznamne ale ak typujete, \u017ee argumenty sa zapisuj\u00fa do z\u00e1tvorky, tak typujete spr\u00e1vne. Argumenty vo funkci\u00ed maj\u00fa nasledovn\u00fa syntax:<\/p>\n<pre>function nazov_funkcie(argument1, argument2) \r\n{\r\n  telo funkcie\r\n}\r\n<\/pre>\n<p>Argumenty m\u00f4\u017eu ma\u0165 v\u00fdznamn\u00fa funkciu a odpor\u00fa\u010dam ich pou\u017ei\u0165 aj kv\u00f4li predch\u00e1dzaniu chybov\u00fdch hl\u00e1sen\u00ed. Funkcie argumenty prij\u00edmaj\u00fa, tak ako je to napr. pri funkcie\u00a0<em>echo<\/em>, ktor\u00e1 prij\u00edma vami zadan\u00fd text. Po\u010det argumentov je \u013eubovo\u013en\u00fd, \u010di\u017ee ich m\u00f4\u017eeme zap\u00edsa\u0165 ko\u013eko chceme. Argumenty sa naz\u00fdvaj\u00fa tie\u017e aj parametre, tak sa netreba zmias\u0165.<\/p>\n<div class=\"sample1\"><\/div>\n<div class=\"sample1\"><em>Pr\u00edklad:<\/em>\u00a0funkcia s\u00fa\u010dtu<\/div>\n<pre>&lt;?php\r\nfunction sucet($a,$b) \r\n{\r\n  $c = $a + $b;\r\n  $text = \"Zadan\u00e9 s\u00fa \u010d\u00edsla $a a $b. Ich s\u00fa\u010det je $c. &lt;br \/&gt;\";\r\n  return $text;\r\n}\r\n$a = 5;\r\n$b = 8;\r\n$vysledok = sucet($a,$b);\r\necho $vysledok;\r\n?&gt;\r\n<\/pre>\n<div class=\"sample1\"><em>V\u00fdsledok pr\u00edkladu:<\/em>\u00a0funkcia s\u00fa\u010dtu<\/div>\n<p>Zadan\u00e9 s\u00fa \u010d\u00edsla 5 a 8. Ich s\u00fa\u010det je 13.<\/p>\n<p>Funkcia sa zavol\u00e1 nasleduj\u00facim sp\u00f4sobom:<\/p>\n<div class=\"sample1\"><em>Pr\u00edklad:<\/em><\/div>\n<pre>echo sucet(6,12);\r\n<\/pre>\n<div class=\"sample1\"><em>V\u00fdsledok pr\u00edkladu:<\/em><\/div>\n<p>Zadan\u00e9 s\u00fa \u010d\u00edsla 6 a 12. Ich s\u00fa\u010det je 18.<\/p>\n<h4>Pozn\u00e1mka<\/h4>\n<p>Vo funkci\u00e1ch musia by\u0165 definovan\u00e9 v\u0161etky argumenty. Argumentom v\u0161ak m\u00f4\u017eeme priradi\u0165 predvolen\u00fa hodnotu. V takomto pr\u00edpade dan\u00e9 argumenty nemusia by\u0165 definovan\u00e9.<\/p>\n<div class=\"sample1\"><\/div>\n<div class=\"sample1\"><em>Pr\u00edklad:<\/em><\/div>\n<pre>&lt;?php\r\nfunction sucet_novy($a=1,$b=1) \r\n{\r\n  $c = $a + $b;\r\n  $text = \"Zadan\u00e9 s\u00fa \u010d\u00edsla $a a $b. Ich s\u00fa\u010det je $c.\";\r\n  return $text;\r\n}\r\necho sucet_novy(10,15).\"&lt;br \/&gt;\";\r\necho sucet_novy().\"&lt;br \/&gt;\";\r\necho sucet_novy(10).\"&lt;br \/&gt;\";\r\necho sucet_novy(0,15);\r\n?&gt;\r\n<\/pre>\n<div class=\"sample1\"><em>V\u00fdsledok pr\u00edkladu:<\/em><\/div>\n<p>Zadan\u00e9 s\u00fa \u010d\u00edsla 10 a 15. Ich s\u00fa\u010det je 25.<br \/>\nZadan\u00e9 s\u00fa \u010d\u00edsla 1 a 1. Ich s\u00fa\u010det je 2.<br \/>\nZadan\u00e9 s\u00fa \u010d\u00edsla 10 a 1. Ich s\u00fa\u010det je 11.<br \/>\nZadan\u00e9 s\u00fa \u010d\u00edsla 0 a 15. Ich s\u00fa\u010det je 15.<\/p>\n<p>Defin\u00edcie funkci\u00ed m\u00f4\u017eeme ulo\u017ei\u0165 do samostatn\u00e9ho s\u00faboru, a potom ich pomocou\u00a0<em>include()<\/em>\u00a0alebo\u00a0<em>require()<\/em>\u00a0zahrn\u00fa\u0165 do skriptu.<\/p>\n<div class=\"sample1\"><em>\u00a0<\/em><\/div>\n<div class=\"sample1\"><em>Pr\u00edklad:<\/em>\u00a0S\u00fabor s n\u00e1zvom funkcie.php<\/div>\n<pre>&lt;?php\r\nfunction zobraz_tabulku($riadky=2,$stlpce=2)\r\n{\r\n  $text = \"\";\r\n  for($i=1; $i&lt;=$riadky*$stlpce; $i++)\r\n  {\r\n    if($i%$stlpce == 1) $text .= \"&lt;tr&gt;\";\r\n    $text .= \"&lt;td&gt;$i&lt;\/td&gt;\";\r\n    if($i%$stlpce == 0) $text .= \"&lt;\/tr&gt;\";\r\n  }\r\n  if($text) return \"&lt;table border='1'&gt;$text&lt;\/table&gt;\";\r\n}\r\n?&gt;\r\n<\/pre>\n<div class=\"sample1\"><em>Pr\u00edklad:<\/em>\u00a0S\u00fabor s n\u00e1zvom tabulka.php<\/div>\n<pre>&lt;!DOCTYPE HTML PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\"&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n  &lt;title&gt;Tabu\u013eka&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n<strong>&lt;?php\r\n  include(\"funkcie.php\");\r\n  echo zobraz_tabulku(3,5);\r\n?&gt;<\/strong>\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<div class=\"sample1\"><\/div>\n<div class=\"sample1\"><em>V\u00fdsledok pr\u00edkladu:<\/em><\/div>\n<table border=\"1\">\n<tbody>\n<tr>\n<td>1<\/td>\n<td>2<\/td>\n<td>3<\/td>\n<td>4<\/td>\n<td>5<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>7<\/td>\n<td>8<\/td>\n<td>9<\/td>\n<td>10<\/td>\n<\/tr>\n<tr>\n<td>11<\/td>\n<td>12<\/td>\n<td>13<\/td>\n<td>14<\/td>\n<td>15<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Defin\u00edcia vlastn\u00fdch funkci\u00ed v php patr\u00ed ku ka\u017edodennej praxi. Jazyk PHP obsahuje mno\u017estvo u\u017eito\u010dn\u00fdch funkci\u00ed, ktor\u00e9 s\u00fa \u013eahko vyu\u017eite\u013en\u00e9, ak v\u0161ak v na\u0161om k\u00f3de chceme pou\u017ei\u0165 funkciu, ktor\u00e1 by n\u00e1m spracovala po\u017eadovan\u00fd skript pod\u013ea na\u0161ich predst\u00e1v, tak pou\u017eijeme funkciu\u00a0function(). Je to ve\u013emi n\u00e1pomocn\u00e1 funkcia pomocou ktorej si mi m\u00f4\u017eeme definova\u0165 svoju vlastn\u00fa funkciu (hotov\u00e9 funkcie [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-363","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=363"}],"version-history":[{"count":1,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/363\/revisions"}],"predecessor-version":[{"id":364,"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=\/wp\/v2\/pages\/363\/revisions\/364"}],"wp:attachment":[{"href":"https:\/\/gdm.sosthe.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}