stencilz Posted May 1, 2007 Report Share Posted May 1, 2007 kodēju, kodēju bet tad attapos ka nezinu elemtāru lietu ir funkcija kurā notiek dažādas darbības un tajā izveidojas mainīgais $x, kā lai es dabūju $x nākošajā rindā aiz funkcijas izsaukšanas? Link to comment Share on other sites More sharing options...
bubu Posted May 1, 2007 Report Share Posted May 1, 2007 Tad varbūt laiks atšķirt manuāli par funkcijām: http://lv.php.net/manual/en/language.functions.php http://lv.php.net/manual/en/functions.returning-values.php function blah() { $y = "kautkas.."; return $y; } $x = blah(); Link to comment Share on other sites More sharing options...
stencilz Posted May 1, 2007 Author Report Share Posted May 1, 2007 es biju domājis kaut kā šādi function a() { $x = 1; return $x; } echo $x; bet tā kā tu saki jau laikam arī derēs Link to comment Share on other sites More sharing options...
andrisp Posted May 1, 2007 Report Share Posted May 1, 2007 stencilz, tavs piemērs ir "neveselīgs". Kāda jēga tad no fjas ? Link to comment Share on other sites More sharing options...
marrtins Posted May 1, 2007 Report Share Posted May 1, 2007 function a() { $GLOBALS['x'] = 1; } print $x'; Link to comment Share on other sites More sharing options...
bubu Posted May 1, 2007 Report Share Posted May 1, 2007 Tā kā marrtins dara, tā nekad nekad nevajag darīt. stencilz: funkciju viens no lielajiem labumiem ir tādas, ka tas ir atsevišķs koda gabls, kas izdara ko tam vajag un nejaucās pa citiem mainīgajiem. Tb apstrādā/izrēķina kautko un atgriež rezultātu ar return. Link to comment Share on other sites More sharing options...
stencilz Posted May 1, 2007 Author Report Share Posted May 1, 2007 return jau kaut kad biju izmantojis, bet mēģināju tā kā augstāk rādiju un protams ka nekas neizdevās Link to comment Share on other sites More sharing options...
andrisp Posted May 1, 2007 Report Share Posted May 1, 2007 100%, ka atstāji to ' pie print vai ne ? :) Link to comment Share on other sites More sharing options...
Grey_Wolf Posted May 1, 2007 Report Share Posted May 1, 2007 (edited) function a() { $GLOBALS['x'] = 1; } print $x'; nekas nav sliktaaks kaa GLOBALS defineet ieksh f-jas !!! 1. shadu f-ju buus gruuti pielaagot citam skriptam. jo Nekad nevareesi zinaat vai saads mainiigais jau kautkur neparaadaas 2. lai nododu f-ja maniigos ir RETURN kuru buutu veelams izmantot vienmeer !!! pat ja funkcija neko netgriezj tad galaa RETURN TRUE; (vai FALSE ja vajag) 3. ja peeksnji vajag padod aaraa vairaakus mainiigos tad to elementari var izdariit ar & function test($a,$b) { $a++; $b++; return $a; } $cc=1; $dd=2; echo test($cc,$dd);// rezultaats 2 echo $dd; // rezultaats 2 ///// // PELIEKAM & /// echo '<br>'; echo test($cc,&$dd); // rezultaats 2 echo $dd; // rezultaats 3 !!!! to & var izmantot pa taisno pie f-jas defineeshanas BET OBLIGATI TIKAI 1 VIETAA vainu pie definesanas vai pie izsauksanas.... Edited May 1, 2007 by Grey_Wolf Link to comment Share on other sites More sharing options...
bubu Posted May 1, 2007 Report Share Posted May 1, 2007 2. lai nododu f-ja maniigos ir RETURN kuru buutu veelams izmantot vienmeer !!! pat ja funkcija neko netgriezj tad galaa RETURN TRUE;(vai FALSE ja vajag) Priekš kam tas vajadzīgs? Tikai lieks kods, un nesaprašana pašam/citam, kad vēlāk lasīsi kodu. 3. ja peeksnji vajag padod aaraa vairaakus mainiigos tad to elementari var izdariit ar & Var arī šādi: function xx() { ... return array($a, $b, $c); } ... list($x, $y, $z) = xx(); Link to comment Share on other sites More sharing options...
andrisp Posted May 1, 2007 Report Share Posted May 1, 2007 Es parasti arī cenšos vienmēr likt return, jo: 1) Reizēm tomēr gadās, ka fju nāksies izmantot iekš kādas ekspressijas. 2) Funkcija taču vienmēr kaut ko dara, kaut vai tā arī neko neatgriež, rezultāts ir vai nu pozitīvs (fja savu darbu izdarīja) vai arī negatīvs. Un to vajag atrgriezt manuprāt. Link to comment Share on other sites More sharing options...
bubu Posted May 1, 2007 Report Share Posted May 1, 2007 1) e? kādas vēl ekspresijas? Ja jau tev ir izteiksme, kurā tu kautko rēķini, tad jau funkcijas atgriežamā vērtība tiks ierēķināta. Kāda jēga ierēķinā kautko, ko tu zini, ka tas ir nekas, tb konstante kautkāda? 2) nu ja vajag atgriezt statusu, darbības rezultātu, tad jā, tad atgriežamā vērtība ir ok. Bet nu es no Grey_Wolf teiktā sapratu, ka viņš liek returnu tikai tāpēc lai būtu returns, pat ja atgriežamā vērtība ir kautkas bezjēdzīgs. Un tam es nepiekrītu. Link to comment Share on other sites More sharing options...
andrisp Posted May 1, 2007 Report Share Posted May 1, 2007 Es saputrojos, biju domaajis, ka ja nu fjas rezultaatu (tipa pozitiivs vai negatiivs izpildes statuss) vajag izmantot, piem., ieksh if kontrolstruktuuras. Link to comment Share on other sites More sharing options...
john.brown Posted May 1, 2007 Report Share Posted May 1, 2007 (edited) Grey_Wolf, laikam gan izteiksmi test($cc,&$dd) tomēr vajag paskaidrot cilvēkam sakarīgāk. Jo, pēc būtības, tam nav nekāda sakara ar atgriežamajām vērtībām - tā ir maldināšana. Tas ir veids, kā funkcijai kā argumentu padot variabļa referenci (norādi), un funkcija nevis izveido savu lokālo variabļa kopiju, kā tas parasti tiek darīts, bet veic darbības ar oriģinālo variabli. Ja iet runa par vairāku vērtību atgriezšanu, tad būtu jālieto bubu variants ar atgriežamu masīvu. References tomēr ir specifiska lieta, ko būtu jālieto ar apdomu. Edited May 1, 2007 by john.brown Link to comment Share on other sites More sharing options...
Recommended Posts