Como posso formatar a saída de um var_dump para uso como variável?

Eu tenho uma function que escreve uma matriz usando print_r e gostaria de capturar a informação dentro de uma variável para inseri-la em uma function para um caso de uso específico. Eu simplifiquei a saída para facilitar a compreensão.

 [fruit] => 'banana' [color] => 'yellow' [sizes] => array('small', 'medium') 

Eu gostaria que formatasse assim:

 $var = 'fruit' => 'banana', 'color' => 'yellow', 'sizes' => array('small', 'medium'); 

Desta forma, eu posso copiar e colar a saída do primeiro e atribuí-lo a uma nova variável padrão.

Funções para isso:

  1. var_export()
    • Pro: saídas em um formato que pode ser simplesmente copiar / colar em um script PHP.
    • Con: Tem que ser colado no script. Se você usa eval() para lê-lo naquela prática horrível e vou cortá-lo.
  2. json_encode()/json_decode()
    • Pro: amplamente utilizado em muitas línguas, legível por humanos, fácil de entender.
    • Con: Não suportado nativamente em versões antigas do PHP
  3. serialize()/unserialize()
    • Pro: disponível em todas as versões do PHP
    • Con: faz uso de caracteres não impressos [como bytes NULL] que podem causar problemas com os streams de trabalho IO que não estão conscientes desse fato.

tente usar var_export(); tutorial var_export

Tente empacotá-lo com a tag


, então ficará assim:

 echo '
'; var_dump($var); echo '

';

Pode também considerar print_r que opera de forma semelhante, mas fornece um segundo argumento que, quando configurado para ‘true’, retornará o valor como uma variável em vez de imprimi-lo para STDOUT.