eregi Posted June 26, 2008 Report Share Posted June 26, 2008 hai, nelielas problēmas man sagādā array'u izveidošana, vārdu sakot: Ir skripts, kurš nolasa ar readdir foldera saturu, vēlāk to iz'echo, bet man vajag pašlaik, lai izecho pēc date ordera, tad nu tā, itkā dzirdēju, ka visu info vajag ievietot array( date => filename,); un pēctam ar krsort'u. Vai kāds var parādīt kā pievienot array'ā jaunas vērtības? nezinu cik nu sakarīgi sanāca.. Link to comment Share on other sites More sharing options...
andrisp Posted June 26, 2008 Report Share Posted June 26, 2008 hmm.. $x = array(); $x['lja lja'] = 'desa'; $x[] = 'cita desa'; $x[100] = 'vēl viena desa'; $x['zhzhzh'] = 'daudz desu'; var_dump($x); ? Link to comment Share on other sites More sharing options...
eregi Posted June 26, 2008 Author Report Share Posted June 26, 2008 Kaut kā šķiet, ka Tavs variants nederēs. :( Reku gabals no skripta, varbūt būs vieglāk - http://paste.php.lv/7564?lang=php Link to comment Share on other sites More sharing options...
Aleksejs Posted June 26, 2008 Report Share Posted June 26, 2008 Kāpēc nederēs? $masivs[$datums]=$filename; Link to comment Share on other sites More sharing options...
eregi Posted June 26, 2008 Author Report Share Posted June 26, 2008 http://paste.php.lv/7565?lang=php izvada man tikai 1 ierakstu - 1208612935 = bilde.JPG Link to comment Share on other sites More sharing options...
andrisp Posted June 26, 2008 Report Share Posted June 26, 2008 Tu tak katrā iterācijā pārraksti to masīvu no jauna tur. To $la = array(); liec pirms while. Kā arī - iesaku darīt šādi: $la[$blalba][] = $fails, jo teorētiski diviem failiem var būt vienāds modifikācijas laiks. Tas gan nozīmē, ka izvadot tev vajadzēs divus while (nestēti). Link to comment Share on other sites More sharing options...
Aleksejs Posted June 26, 2008 Report Share Posted June 26, 2008 Vai nav tā, ka visiem failiem ir viens un tas pats modificēšanas laiks? ;) Nu vēl variants: $masivs[]=Array($datums,$fails); Link to comment Share on other sites More sharing options...
eregi Posted June 26, 2008 Author Report Share Posted June 26, 2008 Tādēļ lieku $la[filemtime($dirr.$file).md5(uniqid())] = $file; liels paldies jums! :) Link to comment Share on other sites More sharing options...
andrisp Posted June 26, 2008 Report Share Posted June 26, 2008 Ja dari šitā, tad no md5 nav nekādas jēgas. Link to comment Share on other sites More sharing options...
eregi Posted June 26, 2008 Author Report Share Posted June 26, 2008 vispār, jā, iepriekš uniqid vietā liku time(). :) Link to comment Share on other sites More sharing options...
andrisp Posted June 26, 2008 Report Share Posted June 26, 2008 Arī ja izmanto time(), tad no tā md5 nav jēgas. ;) Link to comment Share on other sites More sharing options...
eregi Posted June 26, 2008 Author Report Share Posted June 26, 2008 ai.. googlē vakar atradu, nepiesienes, bet nu paldies, ka vismaz norādij.q Link to comment Share on other sites More sharing options...
andrisp Posted June 26, 2008 Report Share Posted June 26, 2008 Nēnu es jau nepiesienos - tika norādu. Link to comment Share on other sites More sharing options...
bubu Posted June 26, 2008 Report Share Posted June 26, 2008 Es gan būtu to visu darījis tā, ka salicis vienā masīvā visus faila vārds un tad ar usort sakārtojis (kā salīdzināšanas funkciju padotu fju, kas abiem padotajiem faila vārdiem nosaka to laiku un salīdzina to). Vai arī, ja failu ir daudz un faila laika noteikšanas funkcija usortā iebremzē (jo tā var tikt izsaukta vairākkārtīgi vienam un tam pašam failam), tad šādi: $arr = array(); for each failam $fname ar tā laiku $ftime { $arr[] = array($fname, $ftime); } sort($arr); for each $a in $arr { // te lieto $a[0] kā faila vārdu } Link to comment Share on other sites More sharing options...
marrtins Posted June 26, 2008 Report Share Posted June 26, 2008 Vienā masīvā liekam laikus, otrā failu nosaukumus. array_multisort($times, SORT_NUMERIC, SORT_DESC, $names); Link to comment Share on other sites More sharing options...
Recommended Posts