в PHP

Рекурсивная генерация source-code на php для массива

Понадобилось сгенерировать сурс из сериализованного массива.
Данные, которые мне были нужны, лежали в БД, в бинарном поле.
Просто взять их из базы меня не устраивало — юнит-тест требует работы с «чистой» БД.
Необходимо было вытащить данные и вставить их в php-файл. А раз есть php — почему бы не поручить ему грязную работу?
Собственно «есть задача — реши её», как говорил Bigweld

  1. <?
  2. function generateCodeRecursive($data, $in = 0)
  3. {
  4.     if (!is_array($data))
  5.     {
  6.         return \’.$data.\’;
  7.         return;
  8.     }
  9.     $string = str_repeat("\t", $in).‘array(‘."\n";
  10.     foreach($data as $key => $value)
  11.         $string .= str_repeat("\t", $in+1).\’.$key.\’ => ‘.generateCodeRecursive($value, $in+1).‘,’."\n";
  12.     $string .= str_repeat("\t", $in).‘)’.($in ? » : ‘;’)."\n";
  13.     return $string;
  14. }
  15. echo generateCodeRecursive(unserialize($trainData));

P.S. Bigweld — толстый и харизматичный персонаж анимации «Роботы». Советую посмотреть. Мотивирует.