Alnis Posted June 19, 2014 Report Share Posted June 19, 2014 kā šo var dabūt gatavu bez GLOBAL Array ( [0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 ) Ar Globālo dabūju šādi: $array; fff(0); print_r($array); function fff($i){ GlOBAL $array; $i++; if($i<5) { fff($i); } $array[]=$i; return $array; } Kā bez globālā? šoreiz svarīgi ir, lai funkcija izsauc citu funkciju. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted June 19, 2014 Report Share Posted June 19, 2014 Padodot listi kā funckijas parametru. Quote Link to comment Share on other sites More sharing options...
Alnis Posted June 19, 2014 Author Report Share Posted June 19, 2014 Padodot listi kā funckijas parametru. $array; $array =fff(0, $arr); print_r($array); function fff($i,$array){ $i++; if($i<5) { fff($i, $array); } $array[]=$i; return $array; } iegūstu: Array ( [0] => 1 ) rekursīvo daļu neatgriež... Quote Link to comment Share on other sites More sharing options...
jurchiks Posted June 19, 2014 Report Share Posted June 19, 2014 (edited) $array = array(); $i = 5; while ($i > 0) { $array[] = $i--; } print_r($array);Bet ja nu šausmīgi vajag rekursīvu funkciju: $array = array(); function buildArray($i, &$array) { if ($i < 1) { return; } $array[] = $i--; buildArray($i, $array); }; buildArray(5, $array); print_r($array);Šis ir tail-recursive, kam tehniski vajadzētu būt labākam, tiesa, es nezinu, vai PHP to optimizē. Edited June 19, 2014 by jurchiks Quote Link to comment Share on other sites More sharing options...
Kemito Posted June 19, 2014 Report Share Posted June 19, 2014 (edited) ... <?php var_dump(range(5,1)); ?> http://php.net/manual/en/function.range.php Edited June 19, 2014 by Kemito Quote Link to comment Share on other sites More sharing options...
Alnis Posted June 19, 2014 Author Report Share Posted June 19, 2014 Paldies! Quote Link to comment Share on other sites More sharing options...
jurchiks Posted June 19, 2014 Report Share Posted June 19, 2014 Tas ir viss, ko tev vajadzēja, bet tu kaut kā iedomājies uzmočīt to kodu, kas ir pirmajā postā? Are you serious? Quote Link to comment Share on other sites More sharing options...
jurchiks Posted June 19, 2014 Report Share Posted June 19, 2014 Es cerēju... Quote Link to comment Share on other sites More sharing options...
rpr Posted June 20, 2014 Report Share Posted June 20, 2014 Būtu loģiskāk, ja šim topikam atbildētu briedis. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted June 20, 2014 Report Share Posted June 20, 2014 > Būtu loģiskāk, ja šim topikam atbildētu briedis. +1 Quote Link to comment Share on other sites More sharing options...
Kemito Posted June 20, 2014 Report Share Posted June 20, 2014 Tas ir viss, ko tev vajadzēja, bet tu kaut kā iedomājies uzmočīt to kodu, kas ir pirmajā postā? Are you serious? Cilvēks ir iesācējs, viņš nezināja esošu funkciju, kā arī nav praktizējies "google" spēkā. Viņš sāka domāt savu risinājumu, kaut kādā veidā panākt sev vēlamo effektu. Lai arī cik liela pornogrāfija tā nebūtu tomēr viņš mēģina, un Tev kā zinošākam pēc piemēra jau vajadzēja saprast, un piedāvāt gatavu risinājumu. Don`t blame rookie. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted June 20, 2014 Report Share Posted June 20, 2014 > Don`t blame rookie. Better eat a cookie. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted June 20, 2014 Report Share Posted June 20, 2014 Nu cmon, neviens iesācējs nekad nemēģina izmantot rekursiju pirms cikla, rekursiju mācās daudz vēlāk par cikliem, un no personīgās pieredzes varu teikt, ka parasti tā vispār nav vajadzīga. Quote Link to comment Share on other sites More sharing options...
Alnis Posted June 25, 2014 Author Report Share Posted June 25, 2014 Tas ir viss, ko tev vajadzēja, bet tu kaut kā iedomājies uzmočīt to kodu, kas ir pirmajā postā? Are you serious? 1. Paldies bija domāts nevis ieteikumam izmantot var_dump() funkciju, bet gan jurchika atbildei 4.postā, konkrēti 2.piemērs, visa mana problēma bija tajā, ka nemācēju/nepielietoju šo simbolu "&" 2. Tas, kas ir rakstīts pirmajā postā ir maksimāli vienkāršots man nepiecišamais rezultāts, iespējams, ne visai veiksmīgs, bet tā kā risinājums tika rasts caur piedāvātajām atbildēm, uzskatu, ka rezultāts tika sasniegts; 3. tagad es sapratu, ka solved mārku ieliku nepareizajai atbildei, izlaboju. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted June 26, 2014 Report Share Posted June 26, 2014 Tādā gadījumā iesaku palasīt vairāk par PHP referencēm, reizēm var noderēt: http://php.net/manual/en/language.references.php Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.