Blitz Posted October 30, 2005 Report Share Posted October 30, 2005 tatad kods ir seit kods... problema taada... cik manuali lasiju tad return partrauc funkcijas izspildi un uzreiz atgirez vertibu. Vot lieta tada ka vajadzetu lai funkcija izspildaas visa un tikai tad atgriez vertibu, jo iznak ka funkcija nepaspej savakt visus file name... Kaa varetu panaak lai pa prieksu izspildaas visa funkcija un rekursija, un tikai peec tam RETURN. Link to comment Share on other sites More sharing options...
bubu Posted October 30, 2005 Report Share Posted October 30, 2005 Tur jau tā taču arī ir - return ir pēc visa funkcijas koda izpildes uzlikts. Tātad tas izpildīsies tikai tad, kad būs izpildījies viss pārējais funkcijas kods. Link to comment Share on other sites More sharing options...
Blitz Posted October 30, 2005 Author Report Share Posted October 30, 2005 tur jau taa lieta ka neizpildaas... piemerem ja return vietaa ielieku print_r($filename), tad izbirst apm 16000 faili (taakaa vajag) bet ja peec funkcijas lieku $flist=traverse_dir($dir) tad labi ja kadi 50 faili, tip izskatas ka izgajis butu cauri tikai vienreiz vienam herarhijas limenim un viss... Link to comment Share on other sites More sharing options...
bubu Posted October 30, 2005 Report Share Posted October 30, 2005 Nu ko tu man te muķības stāsti. Return izpildās tad, kad tev kodā uzlikts - pēc visa pārējā funkcijas koda beigām. Un tas, ka to tu vaino tamdēļ ka kods nestrādā, nav return vaina. Bet tavis rakstītā koda vaina. Padomā pats: ko return dara? Atgriež funkcijas vērtību. Paskaties tad nu kā tu to vērtību izmanto #34 rindiņā..! Nekā! Tu to vērtību vienkārši aizmirsti. Tā ka nevaino return. Link to comment Share on other sites More sharing options...
Blitz Posted October 30, 2005 Author Report Share Posted October 30, 2005 aaa skaidrs, es domaju ka piemeram ja rakstu return($filename), un tad kad izsauksu funkciju kaa $masivs=traverse_dir($dir), tad $masivs buus $filename masivs... Kaa lai savadak dabuu ara $filename masivu? Link to comment Share on other sites More sharing options...
bubu Posted October 30, 2005 Report Share Posted October 30, 2005 aaa skaidrs, es domaju ka piemeram ja rakstu return($filename), un tad kad izsauksu funkciju kaa $masivs=traverse_dir($dir), tad $masivs buus $filename masivs... Būs jau arī. Link to comment Share on other sites More sharing options...
Blitz Posted October 30, 2005 Author Report Share Posted October 30, 2005 arrrgh.... kaa jau ieprieks rakstiju.... Ja return vietaa ielieku print_r($filename) tad man izdrukaa masivu ar 16000 ierakstu... Ja atstaju return($filename) un peec tam izsaucu funkciju saadi: $masivs=traverse_dir($dir); print_r($masivs); tad izdrukaa 77 ierakstus, kur tad taadaa gadijumaa paliek parejie? peec visa secinot, tomer vins man neatgriez visu $filename masivu... Pasaki kuraa vietaa es esu tik stulbs ka nesaprotu.... Link to comment Share on other sites More sharing options...
bubu Posted October 30, 2005 Report Share Posted October 30, 2005 (edited) Es jau teicu: Padomā pats: ko return dara? Atgriež funkcijas vērtību. Paskaties tad nu kā tu to vērtību izmanto #34 rindiņā..! Nekā! Tu to vērtību vienkārši aizmirsti. Tu neizmanto funkcijas atgriežamo vērtību #34 rindiņā. Tur jau tas print_r kautko izdara - izdrukā uz ekrāna, a to atgriež no tās funkcijas (tas ir tas pats ko izdrukā) tu nekur neizmanto. Pie tam: Ja return vietaa ielieku print_r($filename) tad man izdrukaa masivu ar 16000 ierakstu... Nevis masīvu bet masīvus (daudzskaitlī). Varbūt tas kautko līdzēs saprast ;) Edited October 30, 2005 by bubu Link to comment Share on other sites More sharing options...
Blitz Posted October 30, 2005 Author Report Share Posted October 30, 2005 (edited) Skaidrs, man tur veidojas vairaki masivi, tatad ar return es izsaucu laikam pedejo no viniem... Ka lai dabuju ara vinus visus? Kaut kas lidzigs $mas[]=$mas[]+$filename nelidzes? Vai tiesam vienigaa izeja ir kramet vinus visus ieksaa kaut kadaa failaa vai temp datu baazee un pec tam veikt operacijas? Edited October 30, 2005 by Blitz Link to comment Share on other sites More sharing options...
bubu Posted October 30, 2005 Report Share Posted October 30, 2005 http://lv.php.net/manual/en/language.operators.array.php Link to comment Share on other sites More sharing options...
Grey_Wolf Posted October 30, 2005 Report Share Posted October 30, 2005 $masiv1='x'; $masivs_n='y'; echo $masivs1.'-'.$masivs_n; // izvadiis x-y function bla(&$a,&$b) { $a='1'; $b='2'; } bla($masivs1, $masivs_n); echo $masivs1.'-'.$masivs_n; // izvadiis 1-2 nevis x-y ----------- secinaajumus izdari pats............. Link to comment Share on other sites More sharing options...
Recommended Posts