Jump to content
php.lv forumi

Jauna elementa pievienošana masīva vidū


404

Recommended Posts

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

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

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

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

// 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 by v3rb0
Link to comment
Share on other sites

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

×
×
  • Create New...