webForumDet fria alternativet

Radera ett element i array

5 svar · 416 visningar · startad av learn

learnMedlem sedan jan. 20051 143 inlägg
#1

Jag vill kunna radera ett givet element i min array.

Exempel:


$array = array('hej','tjena','halloj');

$ny_array = ta_bort(1,$array); // 1 är den key jag vill ta bort

// $ny_array innehåller nu 'hej', 'halloj'

Hur ska min funktion "ta_bort()" se ut?

fiddlerMedlem sedan juli 20022 464 inlägg
#2
function ta_bort($i,$array)
{
	unset($array[$i]);
	return $array;
}
colioneMedlem sedan juni 20013 386 inlägg
#3

Hmm, blir det inte ett hål i arrayen då?

Är det inte bättre om han gör så här:

function ta_bort($i,$array) 
{ 
    unset($array[$i]); 
    return array_values($array); 
}
learnMedlem sedan jan. 20051 143 inlägg
#4

Jasså, trodde att det endast då är värdet i elementet som raderas och att själva elementet ligger kvar...

Att $ny_array då innehåller 'hej', '', 'halloj'

Får väl prova igen då.

R: Colione hann visst först... :)

fiddlerMedlem sedan juli 20022 464 inlägg
#5

colione skrev:

Är det inte bättre om han gör så här:

Det har du rätt i. :)

learn: "Elementet" försvinner, men som colione påpekar blir det ett hål i indexeringen.

colioneMedlem sedan juni 20013 386 inlägg
#6

Acceptera som slutgiltigt svar?

Genererad på 373 ms · cache AV · v20260730165559-full.f96bc7eb