Gå til innhold

Splitte arrays elementer til element som paramter


Anbefalte innlegg

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
Videoannonse
Annonse

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 etter

Eksempel 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 av Crowly
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...