2010-04-09 30 views
5

Me pregunto si alguien tiene una solución recursiva para convertir una matriz en una cadena.PHP Array to String equivalent

Esto es lo que quiero decir:

Una matriz $args que tiene el siguiente contenido:

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

) 

Resultado después de llamar arr_to_string($args):

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

Nota: reconoce la $ firmar en frente y por lo tanto no es un dd quotes. Hace lo mismo para los números.

¿Alguien tiene alguna solución o puede señalarme en la dirección correcta?

Gracias! Matt Mueller

+0

Jugar con el código y hacer una data es siempre un juego peligroso. El programador debe evitar tales casos. La mayoría de las veces es mucho mejor tratar datos como datos, en formato XML, por ejemplo. –

Respuesta

16

Parece que está después

  • var_export - Imprime o devuelve una representación de cadena, apta de una variable

Eso no le dará $ hola embargo, debido a $ hola no puede estar en una matriz. Siempre es solo el valor de la variable, no el nombre de la variable. Si desea '$ hello', póngalo entre comillas simples cuando lo inserte en la matriz, p. insertarlo como una cadena, no como una variable.

+0

Wow. PHP nunca deja de sorprenderme. Tiene una función para TODO. Gracias hombre por descubrir esta joya. – Matt

+0

Ah, y sobre el signo $. Estoy buscando evaluarlo más tarde (cuando se conoce la variable), es por eso que no debería tener comillas simples alrededor. – Matt

+2

Si desea una representación más compacta del contenido de las matrices, intente codificar como JSON con json_encode() o intente serializar() para obtener un formato que sea más reutilizable por PHP. – selfawaresoup