404 Posted August 3, 2008 Report Share Posted August 3, 2008 Cik palasīti manuāļi,nav izdevies atrast tādu iespēju,kā pievienot jaunu elementu masīvam nevis sākumā vai beigās,bet gan vidū. Iespēja pārrakstīt kādu no esošajiem neder-būtu labi atrast veidu pievienot jaunu elementu masīva vidū,un pārindeksēt masīvu par jaunu,lai pēc tam ar implode ierakstītu jauno saturu tekstfailā. Tas vispār ir iespējams,jeb jāmeklē citi varianti? Link to comment Share on other sites More sharing options...
Grey_Wolf Posted August 3, 2008 Report Share Posted August 3, 2008 labi atrast veidu pievienot jaunu elementu masīva vidū,un pārindeksēt masīvu par jaunu... ta arii ir atbilde ... uzaini cik elementu masiivaa ar ciklu ieraksti DALJU masiva jaunaa meinigajaa , pievieno vertiibu ko tev vajag un pieraksti klat parejo... $skaits=count($masivs); // teksim 10 ieraksti for($i=0;$i<$skaits; $i++) { $new_mas[]=$masivs[$i] if($i== 5) { $new_mas="katkada vertiba"; } } kautkaa sadi ... Link to comment Share on other sites More sharing options...
bubu Posted August 3, 2008 Report Share Posted August 3, 2008 Easy: $masivs = array(...); $jauns_elements = ...; $jaunaa_elementa_indekss = 3; $masivs = array_splice($masivs, 0, jaunaa_elementa_indekss) + array($jauns_elements) + array_splice($masivs, $jaunaa_elementa_indekss); Funkciju uzraksti pats ;) Link to comment Share on other sites More sharing options...
404 Posted August 4, 2008 Author Report Share Posted August 4, 2008 Uzrakstīju šādi: // $array - apstradajamais masivs $array1=array_splice($array,0,$indexa_nr); $array1[]=$jauns_elements; $array2=array_splice($array,$indexa_nr); $rezult=array_merge($array1,$array2); Viss strādā,bet tikai ar vienu array_splice.Kamēr tiek izsaukta tikai pirmā vai otrā masīva daļa-viss ok.Bet kā pieslēdz,pimēram otru,tā tas atgriež tukšu array bez rezultāta.Izmēģināju visādi-kamēr viena array_splice vietā ir parasts masīvs,viss kā vajag,bet abi vienlaicīgi negrib strādāt. Tā fukcija kaut kā jāreseto pirms nākamās izmantošanas,vai? Link to comment Share on other sites More sharing options...
v3rb0 Posted August 4, 2008 Report Share Posted August 4, 2008 (edited) // print_r(array_insert(array(1,2,3,4,6), 5, 4)); function array_insert($array, $what, $where) { return array_merge( array_slice($array, 0, $where), array($what), array_slice($array, $where) ); } php laikam nedarbojas array(1,2,3) + array(4,5,6) tā kā varētu gribēt. Edited August 4, 2008 by v3rb0 Link to comment Share on other sites More sharing options...
bubu Posted August 4, 2008 Report Share Posted August 4, 2008 Ah pareiz. + apvienoja masīvu atslēgas, nevis elementus. Link to comment Share on other sites More sharing options...
404 Posted August 8, 2008 Author Report Share Posted August 8, 2008 Biju jau atmetis domu par to risinājumu,bet beigās piedabūju šādi strādāt: // $array - apstradajamais masivs $array1=array_splice($array,0,$indexa_nr); $array1[]=$jauns_elements; $poz=count($array)-count($array1); $array2=array_splice($array,$poz); $rezult=array_merge($array1,$array2); Tā arī nepieleca,kapēc tā negāja. Bet paldies tāpat par tiem piemēriem-savādāk vienalga neiedomātos. Link to comment Share on other sites More sharing options...
Recommended Posts