2010-04-09 15 views
5

Zastanawiam się, czy ktoś ma rekursywne rozwiązanie do konwersji tablicy na ciąg znaków.PHP Array na równoważnik String

Oto co mam na myśli:

Tablica $args że ma następującą zawartość:

Array 
(
    [0] => $hello 
    [1] => 411px 
    [Jeeves] => Array 
     (
      [compiling] => 1 
     ) 

) 

Wynik po wywołaniu arr_to_string($args):

array($hello,"411px", "Jeeves" => array("compiling" => 1)); 

Uwaga: Uznaje Znak $ z przodu, a więc nie dd cytuje. Robi to samo dla liczb.

Ktoś ma jakieś rozwiązanie lub może wskazać mi właściwy kierunek?

Dzięki! Matt Mueller

+0

Granie z kodem i tworzenie jego danych jest zawsze niebezpieczne. Programista powinien unikać takich przypadków. W większości przypadków lepiej traktować dane jako dane, na przykład w formacie XML. –

Odpowiedz

16

Wygląda jak jesteś po

  • var_export - Wyjścia lub zwraca parsable reprezentację ciąg zmiennej

Że nie da ci $ cześć chociaż, ponieważ $ cześć nie może być w szyku. Zawsze jest to tylko wartość zmiennej, a nie nazwa zmiennej. Jeśli chcesz "$ hello", umieść go w pojedynczych cudzysłowach podczas wstawiania go do tablicy, np. wstaw go jako ciąg, a nie jako zmienną.

+0

Wow. PHP nigdy nie przestaje mnie zadziwiać. Ma funkcję WSZYSTKIEGO. Dzięki za odkrycie tego klejnotu. – Matt

+0

Och i około znaku $. Czekam na jej ocenę później (kiedy zmienna jest znana) - dlatego nie powinna zawierać pojedynczych cudzysłowów wokół niej. – Matt

+2

Jeśli chcesz uzyskać bardziej zwięzłą reprezentację zawartości tablic, spróbuj kodować jako JSON z json_encode() lub spróbuj serialize() dla formatu, który jest najbardziej możliwy do ponownego użycia przez PHP. – selfawaresoup