jupper Posted July 27, 2004 Report Posted July 27, 2004 Ir masīvs $aa=array("lampa","galds","krēsls"); Kā samainīt vietām masīva elementus. Jāiegūst šitāds masīvs: $aa=array("galds","krēsls","lampa");
bubu Posted July 27, 2004 Report Posted July 27, 2004 <?php $aa = array("lampa","galds","krēsls"); array_push($aa, array_shift($aa)); print_r($aa); ?>
hu_ha Posted July 27, 2004 Report Posted July 27, 2004 vecā labā manuālā metode: $aa=array("lampa","galds","krēsls"); $c=$aa[0]; $aa[0]=$aa[1]; $aa[1]=$aa[2]; $aa[2]=$c; $aa=array("galds","krēsls","lampa"); tb jebkuram masīvam: $sk=count($aa); $c=$aa[0]; for ($i=0; $i<$sk; $i++) { $aa[$i]=$aa[$i+1]; } $aa[$sk]=$c;
bubu Posted July 27, 2004 Report Posted July 27, 2004 hu_ha, nestrādās! ;) ciklam viena iterācija par daudz būs, tb viņs pēdējam elementam mēģinās piešķirt pēdējo+1 elementu.
hu_ha Posted July 27, 2004 Report Posted July 27, 2004 bubu - nestriidos, jo rakstiiju iipashi neiedziljinos. galvenais jau ideja :)
bubu Posted July 27, 2004 Report Posted July 27, 2004 Kas ta šitā par ideju? Tas tak elementārs paņēmiens, es vispār nesaprotu, kā var šito (ar masīva elementu pārbīdīšanu) pats neidomāt. Es bij domājis, ka cilvēks to grib advancēti uzrakstīt ;)
hu_ha Posted July 27, 2004 Report Posted July 27, 2004 nu prasīts jau tika rezultāts :P Lab, ja autoram nekādu piezīmju nav, tad veram ciet...
jupper Posted July 28, 2004 Author Report Posted July 28, 2004 2bubu tas array_push() nobiida pirmo elementu uz beigaam, bet man vajag arii iespeeju vinju paarbiidiit uz citu vietu, ja arii masiivaa buus 20 ieraksti, lai vareetu paarbiidiit gan pirmo elementu aiz piektaa, astotaa utt., gan ceturto elementu uz otro, desmito vietu utt.
bubu Posted July 28, 2004 Report Posted July 28, 2004 2bubu tas array_push() nobiida pirmo elementu uz beigaam, bet man vajag arii iespeeju vinju paarbiidiit uz citu vietu, ja arii masiivaa buus 20 ieraksti, lai vareetu paarbiidiit gan pirmo elementu aiz piektaa, astotaa utt., gan ceturto elementu uz otro, desmito vietu utt. Tad tā arī vajag izteikties uzreiz! A to pēc tā 3-elementu masīva piemēra vienīgais, ko varēja saprast bija, ka gribi pirmo elementu aizlikt aiz pēdējā. Ja gribi, lai jebkuru elementu var aizlikt aiz jebkura, tad vai nu jādarbojās ar array_slice, vai arī ar hu_ha ieteikto metodi, t.b. pašam ciklā visu pārbīdīt kā vajag.
Recommended Posts