Rudde Skrevet 7. november 2013 Del Skrevet 7. november 2013 Hei, jeg lurer på hvordan jeg kan splitter en multidimensjonal array inn i single array elementer. Jeg har en function som tar function(array, array, array.....) verdiene jeg vil putte i denne funksjonen har jeg i formatet array = [[],[]] siden funksjonen skal fungere med ulikt antall input verdi altså neste gang så kan det hende arrayen har [[],[],[]] arrayer, hvordan kan jeg løse dette effektivt i PHP? Lenke til kommentar
Crowly Skrevet 7. november 2013 Del Skrevet 7. november 2013 (endret) Du kan bruke array_merge() (hvis jeg har forstått det riktig): $array1=array(0,1,2,3); $array2=array(10,11,12,13); $array3=array(20,21,22,23); foreach (array_merge($array1, $array2, $array3) as $a){ echo $a.','; // 0,1,2,3,10,11,12,13,20,21,22,23, } Edit: oops glemte at det var multidimensjonal. $array1=array(0,1,2,3,4=>array(10,11,12,13=>array(20,21,22,23))); echo myfunc($array1); function myfunc($arg){ foreach ($arg as $a){ if (is_array($a)) myfunc($a); else echo $a.','; // 0,1,2,3,10,11,12,20,21,22,23, } }Ellers så er det muligens func_num_args() og func_get_args() du ser etterEksempel fra func_get_args() siden: function foo() { $numargs = func_num_args(); echo "Number of arguments: $numargs<br />\n"; if ($numargs >= 2) { echo "Second argument is: " . func_get_arg(1) . "<br />\n"; } $arg_list = func_get_args(); for ($i = 0; $i < $numargs; $i++) { echo "Argument $i is: " . $arg_list[$i] . "<br />\n"; } } foo(1, 2, 3); /*Output: Number of arguments: 3<br /> Second argument is: 2<br /> Argument 0 is: 1<br /> Argument 1 is: 2<br /> Argument 2 is: 3<br /> */ Endret 7. november 2013 av Crowly Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå