2010-04-09 17 views
5

Mi chiedo se qualcuno abbia una soluzione ricorsiva per convertire una matrice in una stringa.Array PHP in equivalente a stringa

Ecco cosa intendo:

Un array $args che ha il seguente contenuto:

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

) 

Risultato dopo aver chiamato arr_to_string($args):

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

Nota: riconosce la $ segno davanti e quindi non a dd quotes. Fa lo stesso per i numeri.

Chiunque ha qualche soluzione o può indicarmi la giusta direzione?

Grazie! Matt Mueller

+0

Giocare con il codice e renderne un dato è sempre un gioco pericoloso. Il programmatore dovrebbe evitare tali casi. Per la maggior parte del tempo è molto meglio trattare i dati come dati, ad esempio nel formato XML. –

risposta

16

Sembra che si sta dopo

  • var_export - Uscite o restituisce una rappresentazione di stringa analizzabile di una variabile

che non vi darà $ ciao, però, perché $ ciao non può essere in un array. È sempre solo il valore della variabile, non il nome della variabile. Se desideri "$ hello", inseriscilo tra virgolette quando lo inserisci nell'array, ad es. inseriscilo come una stringa, non come una variabile.

+0

Wow. PHP non smette mai di stupirmi. Ha una funzione per TUTTO. Grazie amico per aver scoperto questa gemma. – Matt

+0

Oh e sul simbolo $. Sto cercando di valutarlo in seguito (quando la variabile è nota) - ecco perché non dovrebbe avere le virgolette singole intorno ad esso. – Matt

+2

Se si desidera una rappresentazione più compatta dei contenuti degli array, provare a codificare come JSON con json_encode() o provare serialize() per un formato che è più riutilizzabile da PHP. – selfawaresoup