Gå til innhold

array_shift i nested array


Anbefalte innlegg

Trenger å bruke funksjonen (eller tilsvarende) array_shift på nivå 2 i ett nested array. Jeg kan selvfølgelig hente ut arrayet over i en variabel, så kjøre array_shift på det arrayet, får så å legge det tilbake i det andre arrayet, men det virker unødvendig! Noen som har noen forslag her?

Lenke til kommentar
Videoannonse
Annonse
Trenger å bruke funksjonen (eller tilsvarende) array_shift på nivå 2 i ett nested array. Jeg kan selvfølgelig hente ut arrayet over i en variabel, så kjøre array_shift på det arrayet, får så å legge det tilbake i det andre arrayet, men det virker unødvendig! Noen som har noen forslag her?

Du trenger ikke legge det tilbake?

 

$a = array(
'a' => '1',
'b' => array(
'c' => '2',
'b' => '2',
'a' => '2',
),
);

echo "org \n";
print_r($a);
$temp = array_shift($a['b']);
echo "shifted value is $temp\n";
echo "shifted \n";
print_r($a);

Lenke til kommentar
array_shift($var[$index]);

?

Får det ikke til å funke! Virker som den kjører array_shift på hoved arrayet!

Vel, hos meg ser det ut til å fungere.

$var = array(array('test11', 'test12','test13'),array('test21','test22','test23'),array('test31','test32', 'test33'));
var_dump(array_shift($var[1]));
var_dump($var);

gir akkurat det man forventer

string(6) "test21"
array(3) {
 [0]=>
 array(3) {
[0]=>
string(6) "test11"
[1]=>
string(6) "test12"
[2]=>
string(6) "test13"
 }
 [1]=>
 array(2) {
[0]=>
string(6) "test22"
[1]=>
string(6) "test23"
 }
 [2]=>
 array(3) {
[0]=>
string(6) "test31"
[1]=>
string(6) "test32"
[2]=>
string(6) "test33"
 }
}

Endret av Ernie
Lenke til kommentar

Sorry.. det er jeg som blander her! Jeg mente "array_push"! jeg skal legge noe i bunnen av arrayet, ikke på toppen som man gjør med $var[] = 'bla'!

array_push($temps[$array_nr],$avrut[0]);

Virker som den pusher det inn i første arrayet..

Endret av WiRRE
Lenke til kommentar
Sorry.. det er jeg som blander her! Jeg mente "array_push"! jeg skal legge noe i bunnen av arrayet, ikke på toppen som man gjør med $var[] = 'bla'!

array_push($array, $var);

er lik

$array[] = $var;

 

mener du array_unshift?

 

og igjen, vis koden du har problemer med.

 

EDIT:

der $avrut er et array skal begge disse virke

array_push($temps[$array_nr],$avrut[0]);
$temps[$array_nr][] = $avrut[0];

 

Tror du må vite ka $array_nr og $avrut[0] er.

Endret av OIS
Lenke til kommentar
Sorry.. det er jeg som blander her! Jeg mente "array_push"! jeg skal legge noe i bunnen av arrayet, ikke på toppen som man gjør med $var[] = 'bla'!

array_push($temps[$array_nr],$avrut[0]);

Virker som den pusher det inn i første arrayet..

Det fungerer også som forventet

$var = array(array('test11', 'test12','test13'),array('test21','test22','test23'),array('test31','test32', 'test33'));
array_push($var[1], 'test24');
var_dump($var);

gir

array(3) {
 [0]=>
 array(3) {
[0]=>
string(6) "test11"
[1]=>
string(6) "test12"
[2]=>
string(6) "test13"
 }
 [1]=>
 array(4) {
[0]=>
string(6) "test21"
[1]=>
string(6) "test22"
[2]=>
string(6) "test23"
[3]=>
string(6) "test24"
 }
 [2]=>
 array(3) {
[0]=>
string(6) "test31"
[1]=>
string(6) "test32"
[2]=>
string(6) "test33"
 }
}

 

Red.: Slenger meg på OIS her, tror det er en ide å vise koden du sliter med.

Endret av Ernie
Lenke til kommentar

Sorry gutter.. det var jeg som blandet array_push, array_unshift og array_push... etter litt lesing i php manualen fant jeg det ut! Det var array_unshift jeg skulle bruke! Takker for alle inspill som peilet meg inn på problemet! Nå går endelig grafen min riktig vei!

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...