PHP pre začiatočníkov - Funkcie, 8.diel

PHP pre začiatočníkov - Funkcie, 8.diel

Definícia vlastných funkcií v php patrí ku každodennej praxi, ak chcete vedieť syntax zápisu vlastnej funkcie, tak nieje nič jednoduchšie ako jej samotná definícia. Všetko o tvorbe vlastných funkcií sa dozviete v tejto časti.
Jazyk php obsahuje množstvo užitočných funkcií, ktoré sú ľahko využiteľné, ak však v našom kóde chceme použiť funkciu, ktorá by nám spracovala požadovaný skript podľa našich predstáv, tak použijeme funkciu function(). Je to veľmi nápomocná funkcia pomocou ktorej si mi môžeme definovať svoju vlastnú funkciu (hotové funkcie v jazyku php sú napr.: echo(), date(), empty()...atď.). Základná syntax zápisu vlastnej funkcie je nasledovná:
function nazov_funkcie() {

telo funkcie

}
Použitie v praxi je veľmi nápomocné a využijete túto funkciu v každom väčšom skripte. Využitie funkcie si môžeme ukázať v názornom príklade.
<?php

function napis() {

$skript = "funkcia napis()";

echo "Toto je $skript"; 

}

echo napis();

?>
Zadefinovali sme si vlastnú funkciu a nižšie vidíte jej využitie. Skript mám vypíše nasledujúci výsledok "Toto je funkcia napis()". Prezrieť si to môžete tu.

Zápis funkcie má ešte jednu možnú variantu a to je varianta zo zápisom argumentov. Jej syntax sa neodlišuje veľmi významne ale ak typujete, že argumety sa zapisujú do zátvorky tak typujete správne. Argumety vo funkcií majú nasledovnú syntax:
function nazov_funkcie(argument, argument2) {

telo funkcie

}
Argumenty môžu mať významnú funkciu a odporúčam ich použiť aj kvôli predchádzaniu chybových hlásení. Funkcie argumenty primajú, tak ako je to napr. u funkcie echo, ktorá príma vami zadaný text. Počet argumentov je ľubovoľný čiže ich môžeme zapísať koľko chceme. Argumenty sa nazývajú tiež aj parametre, tak sa netreba zmiasť. Teraz si napíšeme malý skript, ktorý bude vyžadovať odoslanie argumetov cez formulár.
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">

<input type="text" name="meno" />

<input type="text" name="priezvisko" />

<input type="submit" name="odoslat" value="Odoslať" />

</form>

<?php

function napis($meno, $priezvisko){

echo "$meno
";

echo "$priezvisko
";

}



if (isset($_POST["odoslat"])){

echo napis($meno, $priezvisko);

}

?>
Máte sami možnosť vidieť príjem informácií s argumentu a všetko čo som napísal v tomto skripte si môžeme prezrieť v tomto hotovom príklade. Kliknite tu.

Po zadaní mena a priezviska sa nám vypíše meno a aj priezvisko zadané do formulára. Toto by bolo asi o funkciách všetko a ukončujem túto časť.

V ďalšom diele si niečo povieme o cykloch for a while.
Alternatívne verzie: Text PDF Voice
Autor: PaBi3 · Kategória: Programovanie · Dátum: 30.04.2005 17:23

Komentáre

#1 JanVar
00.00.0000 00:00
ta hodnota funkce muze mit pochopitelne vice parametru, takze:
function nazov_funkcie(argument_1, ..., argument_n) {telo funkcie}
no ale ja verim, ze jste to pochopili spravne, ze nemate jen dve promenne ve volani funkce, takze je vsechno v poradku. Nakonec, uz nejste zadni zacatecnici a sami vite, ze lze predavat cokoliv (tedy "relativne" cokoliv
BTW PaBi3, dalsi veci uz radeji zacatecniky neuc, to by si kazdy napsal svuj RS a skvely phpRS by uz nikdo nechtel..
jen tak dal.. drzim palce..

#2 Lotus
02.07.2008 12:44
Chcel by som sa opýtať či sú tieto návody funkčné aj v PHP5, lebo viacero vecí mi robí problémi…

#3 admin Web E-mail
02.07.2008 13:02
admin [2] Lotus, áno tieto kódy fungujú aj v PHP5. Prečo by nemali? Dokonca z nich nie je možné určiť, či ide o kódy pre PHP4 alebo 5.

#4 dil E-mail
25.09.2015 01:44
tvoj serial PHP pre zaciatocnikov je super. Dobre pochopitelny.
Chcel by som jednu radu, ak je to mozne, ohladom funkcii.
Chcem sa pri PHP naucit viac pouzivat funkcie. Narazil som vsak na jeden problem s ktorym si neviem dat rady.

v php subore volam funkciu s parametrom nazvu tabulky:

$rows = FX_SQL_pocet (table);



Vo funkcii vykonam vypocet riadkov v tabulke:

function FX_SQL_pocet ($table) {
require_once("config/db_config.php"); // napojenie na DB a definovanie predpony a pripony k tabulke.
$pocet = mysql_num_rows(mysql_query("SELECT * FROM ".$predpona.$table.$pripona.""));
mysql_close();
return $pocet;
}


Problem nastava ak dotaz cez funkciu zopakujem viackrat za sebou hoc aj s inymi parametrom tabulky.

$rows = FX_SQL_pocet (table);
echo "rows =".$rows;

$mnozstvo = FX_SQL_pocet (table_names);
echo "mnozstvo =".$mnozstvo;


Prvykrat mi rows dotaz urobi ale druhykrat, tretikrat uz nie.
Funcia nevykona dotaz na DB.

Zrejme to bude len nejake hlupost zaciatocnika v PHP. Vedel by mi niekto s tym pomoct?




Osobné údaje
Captcha
Odpíšte text z obrázku. Rozlišujú sa malé a veľké písmená.
Obsah
Možnosti