Jump to content
php.lv forumi

Recommended Posts

Posted

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?

Posted
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 ...

Posted

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 ;)

Posted

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?

Posted (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 by v3rb0
Posted

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.

×
×
  • Create New...