Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Tablica w funkcji pack
Forum PHP.pl > Forum > Przedszkole
PAL MAL
Witam,

Zwracam się z prośbą o podpowiedź jak umieścić dane z tablicy w funkcji pack biorąc pod uwagę, że każdy indeks będzie osobnym bajtem?

Przykład:

  1. $frame_pack = pack("C*", 10, 87, 13, $tablica, 33);


gdzie $tablica zawiera:

  1. $tablica = array(1, 2, 3, 4, 5);


Chcę osiągnąć żeby paczka miała 9 bajtów: 10, 87, 13, 1, 2, 3, 4, 5, 33.
Nie chcę wpisywać na sztywno bo tablica może być większa lub mniejsza...

Próbowałem zamienić dane w tablicy za pomocą:

  1. $tablica = array_map("chr", $tablica);


Próbowałem różnych sposobów ale niestety jakieś głupoty mi wychodzą, chodź de facto paczka ma 9 bajtów tylko dane się nie zgadzają...

Proszę o jakąś podpowiedź.

Pozdrawiam!
ctom
sprawdź, ale powinno śmigać ...

Kod
$tablica = array(1,2,3,4,5);
$pack_args = array("C*",10, 87, 13, $tablica, 33);

$args = array();
array_map(function($r) use(&$args){
    if( !is_array($r) ) {
    array_push($args, $r);
    } else {
        array_map(function($t) use(&$args) {
            array_push($args, $t);
        }, $r);
    }
    
}, $pack_args);


$frame_pack = call_user_func_array("pack", $args);
PAL MAL
Działa perfekcyjnie! Dziękuję bardzo!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.